【源码阅读】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
代码的结构终于初步弄清楚了,下次将进一步的解读里面的代码!
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
代码的结构终于初步弄清楚了,下次将进一步的解读里面的代码!
相关文章推荐
- 第一天阅读源码
- JDK源码阅读第一天——java.lang.Appendable
- DbUtils源码阅读一:初识项目
- struts2源码阅读第一天
- DbUtils源码阅读二:DbUtils与QueryLoader
- Voltdb 源码阅读
- 源码阅读
- EventBus源码阅读(18)-EventBus-总括
- JDK源码阅读之Iterable接口,使你的类可以迭代遍历
- 阅读Sofia-SIP源码 - su模块 - su_alloc.c/h
- 第三课 Scala函数式编程彻底精通及Spark源码阅读
- 25 BasicUsageEnvironment0基本使用环境基类——Live555源码阅读(三)UsageEnvironment
- iOS框架源码阅读的几篇文章
- jquery源码阅读知识储备(3)exec() 方法和match方法
- Scala模式匹配、类型系统彻底精通与Spark源码阅读
- 淘宝数据库OceanBase SQL编译器部分 源码阅读--生成物理查询计划
- EventBus源码阅读(19)-EventBus初始化
- javascript源码阅读推荐
- IOS开发源码阅读篇--FMDB源码分析3(FMDatabaseQueue+FMDatabasePool)
- 阅读源码的感想