DBUtils
DBUtils

简化JDBC
Dbutils三个核心功能介绍
l QueryRunner中提供对sql语句操作的API.
l ResultSetHandler接口,用于定义select操作后,怎样封装结果集.
l DbUtils类,它就是一个工具类,定义了关闭资源与事务处理的方法
1.1 QueryRunner核心类
l update(Connection conn, String sql, Object... params) ,用来完成表数据的增加、删除、更新操作
l query(Connection conn, String sql, ResultSetHandler<T> rsh, Object... params) ,用来完成表数据的查询操作
1.1.1 ResultSetHandler结果集处理类
|
ArrayHandler |
将结果集中的第一条记录封装到一个Object[]数组中,数组中的每一个元素就是这条记录中的每一个字段的值 |
|
ArrayListHandler |
将结果集中的每一条记录都封装到一个Object[]数组中,将这些数组在封装到List集合中。 |
|
BeanHandler |
将结果集中第一条记录封装到一个指定的javaBean中。 |
|
BeanListHandler |
将结果集中每一条记录封装到指定的javaBean中,将这些javaBean在封装到List集合中 |
|
ColumnListHandler |
将结果集中指定的列的字段值,封装到一个List集合中 |
|
ScalarHandler |
它是用于单数据。例如select count(*) from 表操作。 |
|
MapHandler |
将结果集第一行封装到Map<String,Object>集合中,Key 列名, Value 该列数据 |
|
MapListHandler |
将结果集每一行封装到List<Map<String,Object>>集合中,Key 列名, Value 该列数据,Map集合存储到List集合 |
//增加数据
public int zengjia(User user){
QueryRunner rq=new QueryRunner(MyDBCUtils.getDataSource());
String sql="insert into user(pname,pwd) values(?,?)";
int row=qr.update(sql,user.getPname,user.getPwd);
return row;
}
//删除数据
public int shanchu(User user){
QueryRunner qr=new QueryRunner(MyDBUtils.getDataSource());
String sql="delete from sort where sid=?";
int row=qr.update(sql,user.getSid);
return row;
}
//查询数据常用的四种
//查询一行
public Sort chaxun1(int sid){
QueryRunner qr=new QueryRunner(MyDBCUtils.getDataSource());
String sql="select * from user where sid=?";
Sort sort=qr.query(sql,new BeanHandler<Sort>(Sort.class),sid);
return sort;
}
//将结果集中每一条记录封装到指定的javaBean中,将这些javaBean在封装到List集合中
public List<Sort> chaxun2(){
QueryRunner qr=new QueryRunner(MyDBCUtils.getDataSource());
String sql="select * from user";
List<Sort> list=qr.query(sql,new BeanListHandler<Sort>(Sort.class));
return list;
}
//查询一列,封装到集合中
public List<Sort> chaxun3(){
QueryRunner qr=new QueryRunner(MyDBCUtils.getDataSource());
String sql="select sname from user";
List<Sort> list=qr.query(sql,new ColumListHandler<Sort>());
return list;
}
//查询count(*)
public int chaxun4(){
QueryRunner qr=new QueryRunner(MyDBUtils.getDataSource());
String sql="select count(*) from user";
Long rs=qr.query(sql,new ScalarHandler<Long>());
int row=rs.intValue();
return row;
}
连接池

1.1.1 常见配置项
|
分类 |
属性 |
描述 |
|
必须项 |
driverClassName |
数据库驱动名称 |
|
url |
数据库的地址 |
|
|
username |
用户名 |
|
|
password |
密码 |
|
|
基本项(扩展) |
maxActive |
最大连接数量 |
|
minIdle |
最小空闲连接 |
|
|
maxIdle |
最大空闲连接 |
|
|
initialSize |
初始化连接
|


浙公网安备 33010602011771号