首页 > 数据库技术 > 详细

【JdbcTemplete】JdbcTemplete代码详解--模板方法详解

时间:2016-06-16 20:10:15      阅读:280      评论:0      收藏:0      [点我收藏+]
技术分享

JdbcTemplete类层次结构

技术分享
  • JdbcAccessor:对DataSource数据源进行管理和配置;
技术分享
  • JdbcOperations:定义了通过JDBC操作数据库的基本操作方法;
技术分享

  • JdbcTemplate:提供了实现JdbcOperations接口方法的细节;

JdbcTemplate中模板方法设计模式的使用

模板方法设计模式:模板方法中定义算法的基本骨架,由子类在实现其中的一些细节。
在jdbc访问数据库时,需要创建和维护、销毁Connection、Statement,以及处理SqlException等,如下所示:
技术分享
从上面可以看出,所有的数据库操作,都有一个固定的套路,为了避免重复代码,JdbcTemplate使用模板方法设计模式,将数据库访问中涉及到的不变部分放在JdbcTemplate中,而将变化的部分(比如sql语句)放到Callback中;
JdbcTemplate中的execute()就是模板方法
技术分享

技术分享
从上面的代码中,可以看到,创建Connection和Statement,以及处理exception、释放资源等,都是固定的,具体的sql都是变化的部分,都放在Callback中。
下面以query为例进行介绍:
技术分享
下面在看一个update的例子:
技术分享

JdbcTemplate中的Callback

主要有3个:
技术分享
  1. Statement;
  2. CallableStatement;
  3. PreparedStatement;
每种Statement都有自己对应的execute()方法,都是模板方法,且实现细节基本相同;
每种execute()方法中的Callback函数,分别对应上面3种;
技术分享

JdbcTemplate的query()
JdbcTemplate中的query方法,使用的基本都是preparedStatement

JdbcTemplate方法概览

查询方法主要分为如下几大类:
  • query()
  • queryForList()
  • queryForMap()
  • queryForMap()
  • queryForRowSet()
而上面的每一种,基本又可以分为3类,分别为:
  1. ResultSetExtractor<T> :
  2. RowCallbackHandler
  3. RowMapper<T>
技术分享
技术分享
技术分享






【JdbcTemplete】JdbcTemplete代码详解--模板方法详解

原文:http://www.cnblogs.com/ssslinppp/p/5591868.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!