1.介绍
1)简介:
DBUtils是一个小型的类库,它使JDBC编程更加方便,简单。在JDBC编程中,资源的关闭是显式的,极易导致编程出现错误,DBUtils把这些工作抽象出来,使得程序员编程时仅需要关心正真的问题,即对数据库的增删改查。
2)优点:
杜绝资源泄露。修正JDBC代码并不困难,但是这是耗时而乏味的,这通常导致连接泄露并且难以跟踪到。
清洁干净的持久化代码。大段的持久化数据到数据库代码彻底精简,剩下的代码清晰地表达了编码的意图。
从ResultSet里自动组装JavaBean。你不再需要手工set每一行每一列的值到bean中,每一行数据都将会以一个Bean实例的形式出现
3)适用场景:
通常初学者用JDBC比较多,只是初学者为了打实基础,练习阶段少用框架和帮助类库。
小型项目,小型项目不需要太多的数据库操作,不需要考虑跨数据库兼容问题,用框架并不会让编码更简单。
需要高效率的项目,无论iBatis、Hibernate,到了底下还是JDBC,直接用JDBC访问数据库无疑是最优的效率最高的方案。
4)准备:
下载下来后(当然也可以使用maven工程),名称为commons-dbutils-1.6.jar,下面总共包含三个包,分别是:
其中的org.apache.commons.dbutils包主要有如下的接口和类:
ResultSetHandler——将ResultSet转换为别的对象的工具。
BeanProcessor——匹配列名到Bean属性名,转换结果集列到Bean对象的属性。
DbUtils——一个JDBC辅助工具集合。
ProxyFactory——产生JDBC接口的代理实现。
QueryLoader——属性文件加载器,用于加载属性文件中的SQL到内存中。
QueryRunner——使用可插拔的策略执行SQL查询并处理结果集。
ResultSetIterator——包装结果集为一个迭代器。
其中的org.apache.commons.dbutils.handlers包为第一个包中ResultSetHandler接口的实现类:
AbstractListHandler——将ResultSet转化为List类型的抽象类。
ArrayHandler——将ResultSet转化为Object[]类型的实现类。
ArrayListHandler——将ResultSet转化为List<Object[]>
类型的实现类。
BeanHandler——将ResultSet转化为JavaBean类型的实现类。
BeanListHandler——将ResultSet转化为List<JavaBean>
类型的实现类。
ColumnListHandler ——将ResultSet转化为List<Object>
类型的实现类。
MapHandler ——将ResultSet转换为Map类型的实现类。
MapListHandler ——将ResultSet转换为List<Map>
类型的实现类。
KeyedHandler——将ResultSet转换为Map<Map>
类型的实现类。
ScalarHandler ——将ResultSet的一个列转化到一个对象。
其中的org.apache.commons.dbutils.wrappers包:
SqlNullCheckedResultSet——在每个getXXX方法上检查SQLNULL值的包装类。
StringTrimmedResultSet——取出结果集中字