美文网首页
Apache Commons DbUtils工具包使用介绍

Apache Commons DbUtils工具包使用介绍

作者: 03ngnntds | 来源:发表于2019-04-15 10:19 被阅读0次

    这篇文章主要介绍了Apache Commons DbUtils工具包使用介绍,本文介绍了DBUtils是什么东西、熟悉DBUtils的一些问题、API介绍等内容,需要的朋友可以参考下

    一、介绍

    DBUtils是个小巧的JDBC轻量级封装的工具包,其最核心的特性是在JDBC的基础上做了一层封装,主要是对结果集的封装,可以直接将查询出来的结果集封装成JavaBean,旨在简化JDBC代码混乱与重复。

    JDBC代码开发,存在很多难点:

    1)操作过程复杂,代码操作一个模式,大量的重复。

    2)结果集难以处理。

    3)到处都强制检查SQLException,影响代码的美观和可读性。

    二、熟悉DBUtils

    在使用DBUtils之前,应该注意一些问题:

    1)DBUtils是JDBC的简单封装,可以和JDBC混合使用。

    2)DBUtils对结果集自动封装为JavaBean是有着苛刻要求的:

    必须满足JavaBean的规范;

    其次Bean的getter与setter方法的名字与结果集的列名必须一一对应;

    不要求JavaBean的私有成员与表结果集列名一一对应。

    3)DBUtils可以将结果集封装为各种类型

    主要有:Bean/List,Map/List/Map,数组/List<数组>,列/List<列>,这些类型。

    对于Map的类型使用KeyedHandler作为结果集处理器,内层的Map是“列名-值"对,外层的Map是“主键-内层Map的引用”,但此处的主键不一定就是数据库的主键,可以随意指定。

    4)DBUtils执行插入操作的时候,无法返回自增主键,这是一个很严重的问题,当然不能怪DBUtils,可以通过变通的方法来实现,比如在MySQL中,执行完了一个插入SQL后,接着执行SELECT LAST_INSERT_ID()语句,就可以获取到自增主键。

    5)DBUtils的性能和JDBC性能是一样,测试过程中没发现性能损失,拥有了很高性能的同时,而不失JDBC的灵活性。

    6)对于JavaBean的成员类型定义,有一条原则那就是:尽可能使用包装类型,而不要使用基本类型。

    三、API介绍

    1、org.apache.commons.dbutils包

    DbUtils:一个为简化JDBC操作的小类库

    AbstractQueryRunner:是抽象类,QueryRunner和AsyncQueryRunner类的基类。

    AsyncQueryRunner:可插拔的方式执行SQL查询,处理结果集。是线程安全的类。

    BaseResultSetHandler:把结果集转换成其它对象的扩展。

    BeanProcessor:BeanProcessor匹配列名到Bean属性名,并转换结果集列到Bean对象的属性中。

    Dbutils:一个JDBC辅助工具集合。

    GenerousBeanProcessor:提供了从数据库列名到JavaBean属性之间的智能匹配。

    ProxyFactory:产生JDBC接口的代理实现。

    QueryLoader:属性文件加载器,主要用于加载属性文件中的SQL到内存中。

    QueryRunner:使用可插拔的策略执行SQL查询并处理结果集。

    ResultSetHandler:把ResultSet转换为别的对象的工具。

    ResultSetIterator:包装结果集为一个迭代器。

    RowProcessor:将ResultSet行转换为别的对象的工具。

    2、org.apache.commons.dbutils.handlers包

    AbstractKeyedHandler:KeyedHandler的抽象类。

    AbstractListHandler:简化ResultSetHandler类开发的抽象类,把结果集转换成List。

    ArrayHandler:把结果集中的第一行数据转成对象数组。

    ArrayListHandler:把结果集中的每一行数据都转成一个对象数组,再存放到List中。

    BeanHandler:将结果集中的第一行数据封装到一个对应的JavaBean实例中。

    BeanListHandler:将结果集中的每一行数据都封装到一个对应的JavaBean实例中,存放到List里。

    BeanMapHandler:实现了Bean返回Map集合。结果集所有的行都会转换成Bean,并根据指定的Key存储到Map中。

    文章来源:http://www.iis7.com/c/90/

    相关文章

      网友评论

          本文标题:Apache Commons DbUtils工具包使用介绍

          本文链接:https://www.haomeiwen.com/subject/odiywqtx.html