zoukankan      html  css  js  c++  java
  • 【JdbcTemplete】JdbcTemplete代码详解--模板方法详解


    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个:
    8.gif
    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>







  • 相关阅读:
    生命的等级
    一个笑话
    第一天的日记
    接吻鱼的秘密
    [转载] 女人到底想要什么??
    纪念一塌糊涂bbs
    上海市区找到一处比较便宜的打乒乓地方:)
    朋友在奔驰公司,给我提供的F1照片,奔驰必胜!
    前台mm何处有?
    一个令我感动的女孩!
  • 原文地址:https://www.cnblogs.com/ssslinppp/p/5591868.html
Copyright © 2011-2022 走看看