SqlMapClientTemplate是org.springframework.orm.ibatis下的

而SqlMapClient是ibatis的

SqlMapClientTemplate是SqlMapClient的封装类. 
SqlMapClient中包含着session的管理. 
SqlMapClientTemplate用于session的封装,以及异常的捕捉. 
所以按照以上的推断来说.应该尽量使用SqlMapClientTemplate. 
保证session以及Exception的正常以及统一.

下面是两种类型在spring中的集成配置及用法:、

SqlMapClientTemplate:

1、在spring中的配置


  1. <bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
  2. <property name="dataSource" ref="dataSource" />
  3. <property name="configLocation">
  4. <value>classpath:/sqlmap-config.xml</value>
  5. </property>
  6. </bean>
  7. <bean id="sqlMapClientTemplate" class="org.springframework.orm.ibatis.SqlMapClientTemplate">
  8. <property name="sqlMapClient" ref="sqlMapClient"></property>
  9. </bean>
  10. <bean id="accountDAO" class="com.raycloud.test.dao.AccountDAO">
  11. <property name="sqlMapClientTemplate" ref="sqlMapClientTemplate"></property>
  12. </bean>

2、在dao中的实现


  1. @Repository//使用该注解相当于声明了一个bean
  2. public class AccountDAO {
  3. SqlMapClientTemplate sqlMapClientTemplate;
  4. public void setSqlMapClientTemplate(SqlMapClientTemplate sqlMapClientTemplate) {
  5. this.sqlMapClientTemplate = sqlMapClientTemplate;
  6. }
  7. public Integer addAccount(Account account) throws SQLException{
  8. return (Integer)this.sqlMapClientTemplate.insert("Account.insertAccount", account);
  9. }
  10. }

SqlMapClient:

1、在spring中的配置


  1. <bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
  2. <property name="dataSource" ref="dataSource" />
  3. <property name="configLocation">
  4. <value>classpath:/sqlmap-config.xml</value>
  5. </property>
  6. </bean>
  7. <bean id="accountDAO" class="com.raycloud.test.dao.AccountDAO">
  8. <property name="sqlMapClient" ref="sqlMapClient"></property>
  9. </bean>

2、在dao中的实现


  1. @Repository//使用该注解相当于声明了一个bean
  2. public class AccountDAO {
  3. SqlMapClient sqlMapClient;
  4. public void setSqlMapClient(SqlMapClient sqlMapClient) {
  5. this.sqlMapClient = sqlMapClient;
  6. }
  7. public Integer addAccount(Account account) throws SQLException{
  8. return (Integer)this.sqlMapClient.insert("Account.insertAccount", account);
  9. }
  10. }

Ibatis中SqlMapClientTemplate和SqlMapClient的区别的更多相关文章

  1. ibatis中resultClass与resultMap 的区别

    ibatis的resultClass与resultMap还是有很大的区别.以下是我碰到的一个问题. 配置文件写法如下: 1 sqlMap2 typeAlias alias="notice&q ...

  2. ibatis中的$和#的区别

    介绍 在Ibatis中我们使用SqlMap进行Sql查询时需要引用参数,在参数引用中遇到的符号#和$之间的区分为,#可以进行与编译,进行类型匹配,而$不进行数据类型匹配,例如: select * fr ...

  3. ibatis 中isNull, isNotNull与isEmpty, isNotEmpty区别

    在iBATIS中isNull用于判断参数是否为Null,isNotNull相反 isEmpty判断参数是否为Null或者空,满足其中一个条件则其true isNotEmpty相反,当参数既不为Null ...

  4. ibatis中 $ 于 # 的 区别?

    转自: http://www.blogjava.net/lsbwahaha/archive/2009/04/16/266026.html 一个项目中在写ibatis中的sql语句时,where use ...

  5. ibatis 中#和 $ 符号的区别

    1.数据类型匹配 #:会进行预编译,而且进行类型匹配(自动确定数据类型): $:不进行数据类型匹配. 2.实现方式: # 用于变量替换(先生成一个占位符,然后替换) select * from use ...

  6. ibatis中的符号#跟$区别

    昨天一个项目中在写ibatis中的sql语句时,order by #field#, 运行时总是报错,后来上网查了查,才知道这里不该用#,而应该用$,随即查了下#与$的区别.  总结如下:  1.#是把 ...

  7. ibatis 中 $与#的区别

    ibatis 中 $与#的区别 使用#: select * from table where id = #id# 如果字段为整型:#id#表示成id select * from table where ...

  8. 【转】ibatis 中isNull, isNotNull与isEmpty, isNotEmpty区别

    转自:http://blog.csdn.net/fanfanjin/article/details/6676566 在iBATIS中 isNull用于判断参数是否为Null,isNotNull相反 i ...

  9. ibatis 中的 $和#的区别

    在sql配置中比如in(#rewr#) 与in ($rewr$) 在Ibatis中我们使用SqlMap进行Sql查询时需要引用参数,在参数引用中遇到的符号#和$之间的区分为,#可以进行与编译,进行类型 ...

随机推荐

  1. Git - git push origin master 报错的解决方法

    亲测实用,转载保存,原文地址:https://blog.csdn.net/kangvcar/article/details/72773904 错误提示如下: [root@linux1 php]# gi ...

  2. js中的特数值-null-undefined-NaN

    一.补充 1.js中的三大特殊数据:undefined.null.NaN NaN :非法的数值运算得到的结果 特殊之处: 是一个数值型数据,但不是一个数字 NaN不等于任何值,和任何数据都不相等,Na ...

  3. ArrayList 源码分析和自定义ArrayList实现

    概述 ArrayList 是基于数组实现的,是一个能自动扩展的动态数组. ArrayList 是线程不安全的,多线程情况下添加元素会出现数组越界的情况,而且数组赋值操作不是原子操作,会导致多线程情况下 ...

  4. c++学习笔记(五)

    数组作为函数参数 定义 数组可以作为函数的参数使用,进行数据传送. 数组用作函数参数有两种形式,一种是把数组元素(下标变量)作为实参使用:另一种是把数组名作为函数的形参和实参使用. 1.数组元素作为函 ...

  5. PAT A1020——已知后序中序遍历求层序遍历

    1020 Tree Traversals Suppose that all the keys in a binary tree are distinct positive integers. Give ...

  6. [loj3523]分糖果

    做法1 将问题离线,并在左端点和右端点打上差分,之后即可以看作求$f(C,[a_{1},a_{2},...,a_{n}])$,其表示以$C$为上限(0为下限),从0开始不断加上$a_{i}$(可以为负 ...

  7. HDC技术分论坛:HarmonyOS新一代UI框架的全面解读

    作者:yuzhiqiang,UI编程框架首席技术专家 在Harmony 3.0.0开发者预览版中,包含了新一代的声明式UI框架ArkUI 3.0.多语言跨平台编译器ArkCompiler 3.0.跨端 ...

  8. mybatis源码分析二

    这次分析mybatis的xml文件 1. <?xml version="1.0" encoding="UTF-8" ?> <configura ...

  9. (前端)面试300问之(2)CSS元素居中【水平、垂直、2者同时居中】

    一 仅水平居中 1 行内元素 1)给父元素添加 text-align:center 即可 <div class="parent"> <span class=&qu ...

  10. 常用的分布式ID生成器

    为何需要分布式ID生成器 **本人博客网站 **IT小神 www.itxiaoshen.com **拿我们系统常用Mysql数据库来说,在之前的单体架构基本是单库结构,每个业务表的ID一般从1增,通过 ...