DbUtils的使用和快速入门
DbUtils介绍
简介
DBUtils是Apache提供的一个开源的JDBC工具类库,是java编程中数据库操作实用工具,小巧简单。
DBUtils封装了对JDBC的操作,简化了JDBC操作,从而减少了代码量。
作用
- 对数据表的读操作:可以将结果转换成List、Array、Set等集合。
- 对数据表的写操作:只需要写SQL语句。
- 可以使用数据源,使用JNDI,数据库连接池等技术来优化程序性能。
DbUtils的三个核心对象
QueryRunner类
QueryRunner中提供对sql语句的操作,主要有三个方法:
- query()用于执行select操作
- update()用于执行更新操作(insert、update、delete)
- batch()批处理
ResultSetHandler接口
定义了执行select操作后如何封装结果集
DbUtils类
是一个工具类,定义了关闭资源和事务处理的方法
QueryRunner类
构造函数
QueryRunner有四个构造函数,这里主要讲两个:
1)QueryRunner qr = new QueryRunner();
这个构造函数没有参数,可以用于需要手动控制事务,在使用该对象调用方法(query,update,batch),需要传入Connection对象
2)QueryRunner qr = new QueryRunner(DataSource ds);
这个构造函数可以传入一个数据源参数,它的事务是自动控制的(一个sql一个事务),在使用该对象调用方法时,不用再传入Connection对象。
示例
- 建数据表
- 创建项目导入jar包
数据连接池jar包
JDBC的连接jar包
dbutils的jar包 - 代码
public class TestQueryRunner {
// insert操作
@Test
public void testInsert() throws SQLException {
// 创建QueryRunner对象
QueryRunner qr = new QueryRunner(C3P0Util.getDataSource());
qr.update("insert into user(username,password,email,birthday) values(?,?,?,?)",
"xiaoming","123456","xiaoming@163.com",new Date());
}
// update操作
@Test
public void testUpdate() throws SQLException {
QueryRunner qr = new QueryRunner(C3P0Util.getDataSource());
qr.update("update user set password = ? where username = ?","123123","xiaoming");
}
// delete操作
@Test
public void testDelete() throws SQLException {
QueryRunner qr = new QueryRunner(C3P0Util.getDataSource());
qr.update("delete from user where id = ?",9);
}
// select操作
@Test
public void testSelect() throws SQLException {
QueryRunner qr = new QueryRunner(C3P0Util.getDataSource());
User user = qr.query("select * from user where username = ?",
new BeanHandler<User>(User.class),"xiaoming");
System.out.println(user);
}
// batch操作(执行相同的sql语句)
@Test