黑马程序员技术交流社区

标题: 【广州校区】【原创】DbUtils概述作用和使用步骤 [打印本页]

作者: 帅气de路人甲    时间: 2018-7-9 20:14
标题: 【广州校区】【原创】DbUtils概述作用和使用步骤
1. DbUtils
1.1. DbUtils概述
Commons DbUtilsApache组织提供的一个对JDBC进行简单封装的开源工具类库,使用它能够简化JDBC应用程序的开发,同时也不会影响程序的性能

1.2. DbUtils的作用
DbUtils的作用:
能够简化JDBC应用程序的开发,同时也不会影响程序的性能!
1.3. DbUtils的核心类说明
DbUtils有一些常见的核心类对象,以下是关于核心类对象的说明:
   QueryRunner :专门执行sql语句;既能执行不带占位符的,也能执行带占位符的
   ResultSetHandler :代表查询的结果类型;每一个实现类就具体代表一种结果类型
ArrayHandler 将查询结果的第一行封装成一个数组,其他行忽略
ArrayListHandler 将查询结果的每一行数据先封装成n个数组,然后将这n个数组封装到list集合中
BeanHandler 将查询结果的第一行封装成一个对象,其他行忽略
BeanListHandler 将查询结果的每一行数据先封装成n个对象,然后将这n个对象封装到list集合中
ColumnListHandler将指定列的所有数据封装到一个list集合中
MapListHandler 将查询结果的每一行数据先封装成nMap集合,然后将这nmap集合封装到list集合中
ScalarHandler 将查询结果的第一行第一列封装成一个数据,其他所有数据全忽略;通常用于封装聚合函数的查询结果
KeyedHandler 将查询结果的每一行数据先封装成nMap集合,然后将这nmap集合封装到另一个map集合中

1.4. DbUtils的核心类的构造方法和常用方法
l QueryRunner的构造方法
QueryRunner()
如果使用事务的时候,必须使用该构造方法;将来执行sql的时候,需要程序员自己操作会话对象;
QueryRunner(DataSource ds)
如果不使用事务的时候,建议使用该构造方法,使用该构造方法的时候,直接传递一个连接池对象,将来执行sql的时候,无需操作会话对象;


l QueryRunner的常用方法
<T> T
query(Connection conn, String sql, ResultSetHandler<T> rsh, Object... params)
该方法只用于执行查询的sql语句,且必须配合QueryRunner参数的构造方法;
<T> T
query(String sql, ResultSetHandler<T> rsh, Object... params)
该方法只用于执行查询的sql语句,且必须配合QueryRunner参数的构造方法;
int
update(Connection conn, String sql, Object... params)
该方法只用于执行DDL,DCL,DML的sql语句,且必须配合QueryRunner参数的构造方法;
int
update(String sql, Object... params)
该方法只用于执行DDL,DCL,DML的sql语句,且必须配合QueryRunner参数的构造方法;


l BeanHandler的构造方法
BeanHandler(Class<T> type)
需要传递一个类的字节码文件对象;(直接使用类名.class即可)


l BeanListHandler的构造方法
BeanListHandler(Class<T> type)
需要传递一个类的字节码文件对象;(直接使用类名.class即可)


l ScalarHandler的构造方法
ScalarHandler()
空参数构造方法即可直接使用;








欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2