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. 释放 cached 内存

    巡检服务器发现内存可用很少了 top 命令查看是没有占用大内存的进程,cached特别大,释放cached就可以了 可用内存= free + buffers + cached 以下方法可以释放cach ...

  2. 开发属于自己的包,并上传到npm上

    1.DIY开发包 1.1符合标准的包结构 一个规范的包,它的组成结构,必须符合以下3点要求: 包必须以单独的目录而存在 包的顶级目录下,必须包含package.json这个包管理文件 package. ...

  3. PTA 7-3 畅通工程之最低成本建设问题 (30分)

    PTA 7-3 畅通工程之最低成本建设问题 (30分) 现有村落间道路的统计数据表中,列出了有可能建设成标准公路的若干条道路的成本,求使每个村落都有公路连通所需要的最低成本. 输入格式: 输入数据包括 ...

  4. mongo笔记

    获取stats from pymongo import MongoClient client = MongoClient() db = client.test # print collection s ...

  5. 菜鸡的Java笔记 Object 类

    Object 类        Object类 的主要作用        Object 类的常用方法             内容        虽然有了对象的向上转型,可以解决了参数的统一问题,但是 ...

  6. [atARC099E]Independence

    考虑这张图的反图,相当于这两个集合内部没有边,这也就是二分图的限制 换言之,我们要将这张图黑白染色(不能则为-1),$x$即为某种颜色的数个数 对于一个联通块,记连通块大小为$sz$,则白色点个数为$ ...

  7. [loj3175]排列鞋子

    贪心与最近的鞋子匹配(大小相同且方向相反),记$a_{x}$表示第x双鞋子的左位置,$b_{x}$表示右位置 若$a_{x}>b_{x}$,那么可以交换这两双鞋子并令答案+1,所以不妨设$a_{ ...

  8. 从零开始,使用Dapr简化微服务

    序言 现有的微服务模式需要再业务代码中集成大量基础设施模块,比如注册中心,服务发现,服务调用链路追踪,请求熔断,重试限流等等,使得系统过于臃肿重量级. Dapr作为新一代微服务模式,使用sidecar ...

  9. 唯一id生成器

    public static void main(String[] args) { Jedis jedis = new Jedis("127.0.0.1");//id自增 Long ...

  10. Linux——基础命令用法(上)

    一.Linux基础命令 1.Linux命令行的格式 命令行的格式为:用户名+主机名+当前工作目录 输入内容的命令格式为:命令 [-短选项/--长选项] [参数] [root@localhost ~]# ...