一. DbUtils核心API

1. QueryRunner

update方法

query方法

2. 各种Handler都实现ResultSetHandler接口

beanhandler

beanlisthandler

beanmaphandler

arrayhandler

arraylisthandler

maplisthandler

scalarhandler

columnlisthandler

keyedhandler

二. handler层次结构

使用IDEA生成类图

三. QueryRunner面向实体进行查询

DbUtils原理: 执行SQL->返回ResultSet->反射创建实体对象->Handler

好处:无需面对pstmt和rs对象

四. 使用threadlocal实现con对象透明化

threadlocal是一个隔离线程的容器

具体操作:

1) 获取con时, 从tl容器中查找

2) 创建con时, 存储到tl容器中

3) con使用完毕后, 从tl容器中移除, 线程结束后, tl容器就会被销毁?

五. 使用连接池

频繁创建con对象会造成大量的系统开销, 而且数据库的连接数是有限的, 可以使用dpcp连接池对数据库连接进行池化

六. 一张图理解maplisthandler

附:

pom.xml中添加dpcp依赖

 <dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-dbcp2</artifactId>
<version>2.0.1</version>
</dependency>

pom.xml添加DbUtils依赖

 <dependency>
<groupId>commons-beanutils</groupId>
<artifactId>commons-beanutils</artifactId>
<version>1.6</version>
</dependency>

最新文章

  1. 一些有趣的Javascript技巧
  2. How to step through your code in chrome
  3. ios跑酷游戏源码完整版
  4. 【BZOJ 1043】【HNOI 2008】下落的圆盘 判断圆相交+线段覆盖
  5. ecshop if标签,超过N条,就输出记录 elseif、库存显示方式
  6. Microsoft Visual Studio 2012 文档 下载地址 vs2012 中文帮助文档
  7. Mysql索引总结(一)
  8. Comparing cards
  9. JQuery实现的动态Table(转)
  10. 使用Superprg 下载 AVR/51单片机固件 【worldsing笔记】
  11. iOS 定位服务、通讯录、日历、提醒事项、照片、蓝牙共享、麦克风、相机等授权检测
  12. Markdown 入门教程
  13. VS2008下直接安装使用Boost库1.46.1版本
  14. 磁盘管理之inode与block
  15. Matlab绘图基础——绘制三维曲线
  16. 3.2.3 SpringMVC注解式开发
  17. SaaS应用十大关键NFR - 第2部分
  18. JS 时间 获取 当天,昨日,本周,上周,本月,上月
  19. Scala入门系列(二):条件控制与循环
  20. 【译】第六篇 Integration Services:初级工作流管理

热门文章

  1. callable接口的多线程实现方式
  2. Hive应用实例:WordCount
  3. Java迷宫代码,广度优先遍历,最短路径
  4. 【JZOJ6273】欠钱
  5. input、textarea等输入框输入中文时,拼音在输入框内会触发input事件的问题
  6. curl 一个使用例子
  7. 数据库实例性能调优利器:Performance Insights
  8. thinkphp 字段定义
  9. 概率dp——cf518D
  10. shiro框架的组成和内部结构(下一篇为spring整合shiro)