(二十三)Dbutils 工具介绍

目录


Dbutils简介

commons-dbutisApache 组织提供的一个开源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  是最适合求总记录数的 ;
posted @ 2018-06-14 23:26  Yiaz  阅读(114)  评论(0编辑  收藏  举报