您的位置:首页 > 运维架构 > Apache

【源码阅读】Apache Commons DbUtils 阅读第一天

2013-01-05 22:06 363 查看
最近有幸用到apache
Commons 下的DbUtils组件,进而研究了一下其源码,现把阅读过程中的一些感想记录下来,以供参考!!!

一:介绍

Commons Dbutils 是一个操作数据库的组件,原则上这不能说是一个持久层框架,它提供了一些Jdbc的操作封装来简化数据查询和记录读取操作。如果大家需要其源码的话,可以通过以下地址下载:http://commons.apache.org/dbutils/index.html

二:代码结构

Commons Dbutils 主要包括3个package:

org.apache.commons.dbutils
//JDBC 辅助方法集合,提供了一系列的 JDBC API 的静态方法供用户使用,比如数据库驱动的加载、

Connection、Statement 等资源的释放等等,该类线程安全。

org.apache.commons.dbutils.handlers
// 主要包括把resultset对象里数据转换成其他object类,如map、bean、list等

org.apache.commons.dbutils.wrappers
//主要包括代理实例的调用处理程序,做一些空值数据的处理

我们来看看项目里面的结构以及具体说明

org.apache.commons.dbutils 包



|__DbUtils:jdbc辅助方法集合,线程安全

|__ResultSetHandler<T>:转换ResultSets对象 为其他Object 接口,下面为它的一些具体实现类

|__org.apache.commons.dbutils.handlers包

|__AbstractKeyedHandler<K,V>:把ResultSet里面数据转换为用Map存储,抽象类

|__BeanMapHandler:map里面value保存的是一个bean类,根据相应key获取bean数据

|__KeyedHandler;ResultSetHandler h = new KeyedHandler("id"); 根据类中保存的key(id),获取相应value

|__AbstractListHandler<T>:把ResultSet里面数据转换为用List存储,抽象类

|__ArrayListHandler:list为arrayList

|__ColumnListHandler:

|__MapListHandler:

|__ArrayHandler:把ResultSet里面数据转换为用Object[]存储

|__BeanHandler<T>:把ResultSet里面数据转换为用javaBean存储

|__BeanListHandler<T>:把ResultSet里面数据转换为用List存储,list里面对象为javaBean

|__MapHandler:把ResultSet里面数据转换为用Map存储

|__ScalarHandler:

|__AbstractQueryRunner

|__QueryRunner
:基本查询类

|__AsyncQueryRunner

|__RowProcessor

|__BasicRowProcessor

|__BeanProcessor

|__ProxyFactory:代理类

|__QueryLoader

|__ResultSetIterator

org.apache.commons.dbutils.wrappers

|__SqlNullCheckedResultSet

|__StringTrimmedResultSet

代码的结构终于初步弄清楚了,下次将进一步的解读里面的代码!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: