commons.dbutils1.2介绍及使用
一、结构介绍
高层结构图:
wrappers包:
handlers包(部分):
二、功能介绍
commons.dbutils是一个对JDBC操作进行封装的类集,其有如下几个优点:
(1)没有可能的资源泄漏,避免了繁锁的JDBC代码
(2)代码更整洁
(3)从ResultSet自动生成JavaBeans属性
(4)无其他依赖包
三、基本使用
基本用到的类有:QueryRunner、ResultSetHandler及其子类等
QueryRunner -- 执行查询的类,可以执行SELECT、INSERT、UPDATE、DELETE等语句,QueryRunner用ResultSetHandler的子类来处理ResultSet并返回结果;而包提供的ResultSetHandler子类使用RowProcessor的子类来处理ResultSet中的每一行;RowProcessor的默认实现为BasicRowProcessor;BeanProcessor不是RowProcessor,可以看作一个工具类
ResultHandler及其子类 -- 实现了Object handle(ResultSet rs) throws SQLException方法
AbstractListHandler -- 返回多行List的抽象类
ArrayHandler -- 返回一行的Object[]
ArrayListHandler -- 返回List,每行是Object[]
BeanHandler -- 返回第一个Bean对象
BeanListHandler -- 返回List,每行是Bean
ColumnListHandler -- 返回一列的List
KeyedHandler -- 返回Map,具体见代码
MapHandler -- 返回单个Map
MapListHandler -- 返回List,每行是Map
ScalarHandler -- 返回列的头一个值
代码:
关于wrappers包:
在新建QueryRunner时,覆盖父类的方法wrap
四、扩展
1.RowProcessor接口
2.ResultSetHandler接口
更多相关文章
- Android中RecyclerView的item中控件的点击事件添加删除一行、上
- Android Studio中如何编写JNI代码及编译so库
- 编译Android4.3内核源代码
- Java se之静态代码块、代码块、构造函数执行顺序问题
- Java普通代码块,构造代码块,静态代码块区别,执行顺序的代码实例
- 编写自己的代码库(javascript常用实例的实现与封装)[转]
- 一篇不错的Android Audio架构代码梳理总结
- demo_代码注册广播接受者_Service
- Android学习笔记--《第一行代码Android》273页代码解密