dbutils
是apache组织提供的工具类,jdbc的框架。
使用步骤:
- 导入jar包(commons-dbutils-1.5.jar)
- 创建一个queryrunner类
queryrunner作用:操作sql语句
构造方法:new QueryRunner(Datasource ds); - 编写sql语句
- 执行sql语句
query():执行r操作;
update():执行cud操作;
执行代码:
//创建queryrunner类
//[DataSourceUtils.getDataSource()来源](https://blog.csdn.net/weixin_39189376/article/details/89327150)
QueryRunner qr = new QueryRunner(DataSourceUtils.getDataSource());
//编写sql语句
String sql = "update user set username = ?,password = ?,name = ?,email = ?,birthday = ?,state = ?,code = ? where uid = ?";
//执行sql语句
qr.update(sql, user.getUsername(), user.getPassword(), user.getName(), user.getEmail(),user.getBirthday(), user.getState(), null, user.getUid());
注意:使用new QueryRunner(Datasource ds)构造器,底层会帮我们创建连接,创建语句执行者,释放资源。
ResultSetHandler:封装结果集,接口
- ArrayHandler:将查询结果的第一条记录封装成数组返回。
- ArrayListHandler:将查询结果的每一条记录封装成数组,将每一个数组放入list中返回。
- BeanHandler:将查询结果的第一条记录封装成指定的bean对象返回
- BeanListHandler:将查询结果的每一条记录封装成指定的bean对象,将每一个bean对象放入list中返回。
- ColumnListHandler:将查询结果的指定一列放入list返回
- MapHandler:将查询结果的第一条记录封装成Map(字段名为Key,值为Value)返回
- MapListHandler:将查询结果的每一条记录封装成Map集合,将每一个Map集合放入list中返回。
- ScalarHandler:针对于聚合函数。
查询代码:
public User getByCode(String code) throws Exception {
QueryRunner qr = new QueryRunner(DataSourceUtils.getDataSource());
String sql = "select * from user where code = ? limit 1";
return qr.query(sql, new BeanHandler<>(User.class), code);
}