一、Dbutils简介
Dbutils是java编程中的数据库操作工具;封装了对于JDBC的操作,简化了JDBC操作;
主要核心功能:
1、QueryRunner中提供对sql语句的操作的API;
2、ResultSetHandler接口,用于定义select操作后,怎么封装结果集(接口下面有许多的实现类,主要就是对实现类的使用)
3、Dbutils类,它就是一个工具类,定义了关闭资源与事务处理的方法;
二、QueryRunner的具体使用
作用:简化SQL查询 + 与ResultSetHandler协同使编码量减少。
常见方法:
1、 query(String sql, Object[] params, ResultSetHandler rsh); query(String sql, Object params, ResultSetHandler rsh):方法本身不提供数据库连接,执行选择查询,在查询中,对象阵列的值被用来作为查询的置换参数。
(1)SQL没有参数的时候
public static void main(String[] args) throws SQLException { //.1创建对象 QueryRunner queryRunner = new QueryRunner(); //2.编写sql 这个SQL没有条件,所以下面的query中不需要传参数 String sql = "Select * from tableName"; //3.执行SQL, 第二个参数 结果返回类型(MapHandler -- 返回单个Map) queryRunner.query(sql,new MapHandler()); //3.执行SQL, 第二个参数 结果返回类型(ScalarHandler -- 返回列的头一个值) queryRunner.query(sql,new ScalarHandler());(2)SQL中有参数的时候
public static void main(String[] args) throws SQLException { //.1创建对象 QueryRunner queryRunner = new QueryRunner(); //2.编写sql 这个SQL 有条件,下面query 需要传参 String sql = "Select * from tableName where id = ?"; //2.1 sql语句ID定义 int id = 123; //3.执行SQL, 第二个参数 结果返回类型(MapHandler -- 返回单个Map) queryRunner.query(sql,new MapHandler(),id); //3.执行SQL, 第二个参数 结果返回类型(ScalarHandler -- 返回列的头一个值) queryRunner.query(sql,new ScalarHandler(),id); //3.执行SQL, 第二个参数 结果返回类型(BeanHandler -- 返回自定义实体) UserBean bean = queryRunner.query(sql, new BeanHandler<UserBean>(UserBean.class), id); }
(3)query方法中RequestSetHandler 类型列表
AbstractListHandler —————— 返回多行List的抽象类
ArrayHandler —————— 返回一行的Object[]
ArrayListHandler —————— 返回List,每行是Object[]
BeanHandler —————— 返回第一个Bean对象
BeanListHandler —————— 返回List,每行是Bean
ColumnListHandler —————— 返回一列的List
KeyedHandler ——————返回Map,具体见代码
MapHandler —————— 返回单个Map
MapListHandler —————— 返回List,每行是Map
ScalarHandler —————— 返回列的头一个值
总结:大致了解一下对于Dbutils
