目录
Dbutils简介
commons-dbutis
是Apache
组织提供的一个开源JDBC
工具类库,它对JDBC
进行了简单的封装,学习成本极低 ;
并且使用 dbutils
能极大的简化 jdbc
编码的工作量,同时也不会影响程序的性能,因为它只是进行简单的封装,简化sql语句的编写;
因此,dbutils
成为很多不喜欢 hibernate
的首选 ;
API 介绍
org.apache.commons.dbutils.QueryRunner
它提供了 Query()、update()方法 ; 对于创建 QueryRunner ,有 2 种方法,也就是它有2种构造器; ·一种是需要提供连接池当参数的,这个没啥好说的,跟我们之前学的差不多; ·另一种是不提供连接池的,这种连接用完需要自己手动关闭,主要是用于事务,为了在一条连接上执行多条sql语句 ; ·还有可以用批处理的方法,就是参数接受一个二维数组,并且调用 batch方法 ;
Dbutils 已实现的结果集处理器 :
·ArrayHandler : 把结果集的第一行数据转成对象数组,不管结果集查出多少条数据,仅转换第一条;
·ArrayListHandler : 把结果集中的每一行数据都转成一个数组,再存放到List中 ;
·BeanHandler : 把结果集中的第一行数据封装到一个对应的 Javabean 实例中 ;
·BeanListHandler : 把结果集中的每一行数据封装到 Javabean 中,再存放进list里面 ;
·ColumnListHandler : 把结果集的某一列封装进list里面,参数写列名。
·KeyedHandler(key):将结果集的每一行数据封装到一个Map里面,再将这些Map存进一个Map中,其key为指定的key ;
·MapHandler :将结果集中的第一行数据封装到一个Map里面,key是列名,value是对应的值 ;
·MapListHandler : 将结果集中的每一行数据都封装到一个Map里面,最后存进一个 list 里面 ;
·ScalarHandler :将某一列的数据,转成一个对象,更适合求总记录数;
·以上几种都可以可以返回查询的总记录数,即结果集的数据量,可以根据返回的集合,获取其大小,即可;
·也可以直接查询 count(*) 返回结果到ArrayHandler 里面,这里注意 count(*) 返回的结果是long类型 ;
·ScalarHandler 是最适合求总记录数的 ;