DBUtils(DataSourceUtils提供数据源)
DBUtils是apache组织的一个工具类,jdbc的框架,更方便我们使用
使用步骤:
1.导入jar包(commons-dbutils-1.4.jar,c3p0-0.9.1.2.jar)
1.1导入DataSourceUtils类(如何导入并配置)
2.创建一个queryrunner类
queryrunner作用:操作sql语句
构造方法:
new QueryRunner(Datasource ds);//ds为一个数据源 eg:DataSourceUtils.getDataSource()
3.编写sql
4.执行sql
uery(..):执行r操作
update(...):执行cud操作
一.dbutils的CUD
import java.sql.SQLException;
import org.apache.commons.dbutils.QueryRunner;
import org.junit.Test;
import util.DataSourceUtils;
/**
*dbutils的 CUD
*建立在 DataSourceUtils之上
*/
public class DBUtilsCUD {
//insert
@Test
public void f1() throws SQLException{
//创建QueryRunner
QueryRunner qr = new QueryRunner(DataSourceUtils.getDataSource());
//编写sql
String sql = "insert into student values(31,?)";
//执行sql
qr.update(sql, "3131");
}
//update
@Test
public void f2() throws SQLException{
//创建QueryRunner
QueryRunner qr = new QueryRunner(DataSourceUtils.getDataSource());
//编写sql
String sql = "update student set name=? where id=?";
//执行sql
qr.update(sql, "xxxxx",31);
}
//delete
@Test
public void f3() throws SQLException{
//创建QueryRunner
QueryRunner qr = new QueryRunner(DataSourceUtils.getDataSource());
//编写sql
String sql = "delete from student where id=?";
//执行sql
qr.update(sql,31);
}
}
二.dbutils的R
主要是几种ResultSetHandler
import java.sql.SQLException;
import java.util.List;
import java.util.Map;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanHandler;
import org.apache.commons.dbutils.handlers.BeanListHandler;
import org.apache.commons.dbutils.handlers.MapListHandler;
import org.apache.commons.dbutils.handlers.ScalarHandler;
import org.junit.Test;
import domain.Student;
import util.DataSourceUtils;
/*
* dbutils的R操作
* 主要是几种ResultSetHandler
* */
public class DBUtilsR {
/*☆☆☆☆☆
* 将查询结果的第一条记录封装成指定的bean对象,返回
* */
@Test
public void beanHandler() throws SQLException{
QueryRunner qr=new QueryRunner(DataSourceUtils.getDataSource());
String sql="select * from student";
Student bean = qr.query(sql,new BeanHandler<>(Student.class));
System.out.println(bean);
}
/*☆☆☆☆☆
* 将查询结果的每一条记录封装成指定的bean对象,将每一个bean对象放入list中 返回.
* */
@Test
public void beanListHandler() throws SQLException{
QueryRunner qr=new QueryRunner(DataSourceUtils.getDataSource());
String sql="select * from student";
List<Student> list = qr.query(sql,new BeanListHandler<>(Student.class));
for (Student bean : list) {
System.out.println(bean);
}
}
/*☆☆☆
* 将查询结果的每一条记录封装map集合,将每一个map集合放入list中返回
* */
@Test
public void mapListHandler() throws SQLException{
QueryRunner qr=new QueryRunner(DataSourceUtils.getDataSource());
String sql="select * from student";
List<Map<String, Object>> list = qr.query(sql,new MapListHandler());
for (Map<String, Object> map : list) {
System.out.println(map);
}
}
/*☆☆☆
* 针对于聚合函数 例如:count(*) 返回的是一个Long值
* */
@Test
public void ScalarHandler() throws SQLException{
QueryRunner qr=new QueryRunner(DataSourceUtils.getDataSource());
String sql="select count(*) from student";
Object obj = qr.query(sql, new ScalarHandler());
System.out.println(obj);
}
}
其它几种ResultSetHandler (了解)ArrayHandler, 将查询结果的第一条记录封装成数组,返回 (了解)ArrayListHandler, 将查询结果的每一条记录封装成数组,将每一个数组放入list中返回 (了解)ColumnListHandler, 将查询结果的指定一列放入list中返回 (了解)MapHandler, 将查询结果的第一条记录封装成map,字段名作为key,值为value 返回
DBUtils(DataSourceUtils提供数据源)的更多相关文章
- RDLC报表数据集的一个细节,导致错误为 尚未数据源提供数据源实例
报表中,数据集的名字DataSet_CZ, 这里报表这样加载,视乎是的. reportViewer1.LocalReport.DataSources.Add(new Microsoft.Reporti ...
- c# 数据表DataTable给devexpress的gridControl提供数据源
C# DataTable 详解 参考:https://www.cnblogs.com/Sandon/p/5175829.html http://blog.csdn.net/singgel/articl ...
- Apache提供的dbUtils
一.介绍 apache组织为我们提供了dbUtils实用工具(一些jar包),封装了一些查询的类和借口,相对自己定义的来说,可以简化很多操作 dbUtils提供了核心功能 1.QueryRunner ...
- BenUtils组件和DbUtils组件
BenUtils组件和DbUtils组件 [TOC] 1.BenUtils组件 1.1.简介 程序中对javabean的操作很频繁,所有Apache提供了一套开源api,方便javabean的操作!即 ...
- javaweb学习总结—Apache的DBUtils框架学习
注明: 本文转载自http://www.cnblogs.com/xdp-gacl/p/4007225.html 一.commons-dbutils简介 commons-dbutils 是 Apache ...
- Apache—DBUtils框架
1.所需要jar包 commons-collections-2.1.1.jarmchange-commons-java-0.2.11.jarmysql-connector-java-5.1.18-bi ...
- JavaWeb学习总结(十四)--Apache的DBUtils
一.commons-dbutils简介 commons-dbutils 是 Apache 组织提供的一个开源 JDBC工具类库,它是对JDBC的简单封装,学习成本极低,并且使用dbutils能极大简化 ...
- DBUtils学习
1. DBUtils是JDBC的简单封装,可以和JDBC混合使用. 2. DBUtils对结果集自动封装为JavaBean是有着苛刻要求的:必须满足JavaBean的规范,其次 ...
- Apache—DBUtils框架简介
转载自:http://blog.csdn.net/fengdongkun/article/details/8236216 Apache—DBUtils框架简介.DbUtils类.QueryRunner ...
随机推荐
- 实现虚拟机VMware上Linux与本机windows互相复制与粘贴的问题
解决方法:只需要在Linux系统中安装一个vmware-tools的工具 1.选择虚拟机菜单,有安装vmware tools 工具的选项 点击之后,在Linux的桌面下会出现 VMwareTools. ...
- Sqlite && EF Code FIRST 终极解决方案 2019.5.17
Sqlite && EF Code FIRST 终极解决方案 2019.5.17 包括根据模型自动生成数据库,初始化数据,模型改变时的自动数据迁移等 2019.12.25 更新 支持E ...
- U Must Know The .Net --7
关键字 1 new 创建对象/调用构造函数 隐藏基类成员 new()约束,表明泛型类声明中的任何参数都必须有公共无参构造函数 new 实现多态 1.1 new class:分配内存,调用构造函数实例化 ...
- python 随便笔记
1 判断字符串中是否有数字 i.isdigit()==True else False #判断是否是数字i.isalpha()==True else False #判断是否是字母 i.isspace() ...
- 同步异步,异步回调,线程队列,线程时间Event
同步异步-阻塞非阻塞 阻塞-非阻塞 指的是程序的运行状态 阻塞:当程序执行过程中遇到了IO操作,在执行IO操作时,程序无法继续执行其他代码,称为阻塞. 非阻塞:程序在正常运行没有遇到IO操作,或者通过 ...
- 通过java进行电脑屏幕截图
package image; import java.awt.Desktop; import java.awt.Dimension; import java.awt.Rectangle; import ...
- 14.data.js
dict_data = { "_id":1, name:"王五", age:55, gender:true } db.stu.insert(dict_data) ...
- Ubuntu 18.04/18.10快速开启Google BBR的方法
说明:Ubuntu 18.04改变挺大的,内核直接升到了正式版4.15,而BBR内核要求为4.9,也就是说满足了,所以我们不需要换内核就可以很快的开启BBR,这里简单说下方法. 提示:Ubuntu 1 ...
- Java虚拟机笔记
Java内存区域划分 1.程序计数器 线程私有,当前线程执行的行号指示器,指向当前线程执行的虚拟机字节码地址,线程的恢复,跳转等都需要用到它 2.Java虚拟机栈 线程私有,虚拟机栈描述的是Java内 ...
- [JZOJ4639] 【NOIP2016提高组A组7.16】Angel Beats!
题目 描述 题目大意 给你一棵树,每次询问两个点,求出这两个点的子树的重心到其中每个点的距离和. 重心的定义是到其中每个点距离和最小的点(不一定在两棵子树内) 思考历程 想想以前我是怎么求重心的呢-- ...