DBUtils介绍
Commons DbUtils是Apache组织提供的一个对JDBC进行简单封装的开源工具类库,使用它能够简化JDBC应用程序的开发,同时也不会影响程序的性能
DBUtis的API
QueryRunner类:执行sql语句
ResultSetHandler接口:将结果集封装到一个bean中 DBUtils类:工具类 关闭资源 事务相关快速入门(小案例)
创建一个user表
create table user(id varchar(50) primary key,name varchar(20),age int,addr varchar(255),idcard varchar(20),account int);
原始jdbc方式:
使用DBUtils方式:
QueryRunner详解
QueryRunner的创建方式
QueryRunner runner = new QueryRunner();//手动事务 QueryRunner runner = new QueryRunner(DataSource);//自动事务 QueryRunner的方法 三个方法: update() batch() query()update方法
参数:
Connection:连接对象 sql:sql语句(必须有) params:sql语句中占位符的位置的值 组成的方法: update(Connection,sql,params):手动控制事务 sql需要传入参数 update(Connection,sql):手动控制事务 sql没有参数 例如:delete from user; update(sql,params):自动控制事务 sql需要参数 update(sql):自动控制事务 sql不需要参数自动事务执行update
手动事务执行update
batch方法--批处理
参数:
Connection:连接对象 sql:sql语句(必须有) params:sql语句中占位符的位置的值 二维数组 组成的方法: batch(Connection,sql,params):如果事务回滚的话 所有批处理的sql都不生效 batch(sql,params)自动事务执行batch
手动事务执行batch
query方法
参数:
Connection:连接对象 sql:sql语句(必须有) params:sql语句中占位符的位置的值 二维数组 ResultSetHandler:封装结果集(必须有) 组成方法: query(connection,sql,params,resultsetHandler) query(connection,sql,resultsetHandler) query(sql,params,resultsetHandler) query(sql,resultsetHandler)ResultSetHandler:封装结果集
handle方法(ResultSet)
自定义通用的handler
DBUtils提供了9个ResultSetHandler接口的实现
BeanListHandler:返回是一个list list中封装的是实体bean
BeanHandler:返回就是实体bean
ArrayHandler:返回值是一个数组
ArrayListHandler: 返回值是List<Object[]> 结果集中的每一行数据封装到数组中 在将多个数据放到集合中
MapHandler
MapListHandler
ColumnListHandler: 返回的是一个集合 集合中元素是一列的数据
ScalarHandler: 返回的是第一行的第一列的数据
KeyedHandler:
DBUtils工具类
主要是关闭资源和事务相关的方法
DBUtils.close(conn)----- conn.close