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>







  • 相关阅读:
    Python partition() 方法
    汽车车灯灯具系统(下)
    汽车车灯灯具系统(上)
    语义和边缘:从噪声和符号中学习
    AI解决方案:边缘计算和GPU加速平台
    GPU与显卡
    图像处理 100 问!!
    匹配算法:局部结构保留
    图像拼接技术
    SLAM的通用框架:GSLAM
  • 原文地址:https://www.cnblogs.com/ssslinppp/p/5591868.html
Copyright © 2011-2022 走看看