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">
      1. <property name="dataSource" ref="dataSource" />
        1. <property name="configLocation">
          1. <value>classpath:/sqlmap-config.xml</value>
            1. </property>
              1. </bean>
                1. <bean id="sqlMapClientTemplate" class="org.springframework.orm.ibatis.SqlMapClientTemplate">
                  1. <property name="sqlMapClient" ref="sqlMapClient"></property>
                    1. </bean>
                      1. <bean id="accountDAO" class="com.raycloud.test.dao.AccountDAO">
                        1. <property name="sqlMapClientTemplate" ref="sqlMapClientTemplate"></property>
                          1. </bean>
                        1.  

                        2、在dao中的实现

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

                                                  SqlMapClient:

                                                  1、在spring中的配置

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

                                                                  2、在dao中的实现

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

                                                                                            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. connect & send 在三次握手过程中的有趣问题

                                                                                              一.问题回顾 面试的时候被问到的问题,原问题是: 1:写一下socket网络编程服务端和客户端常用的函数. 2:如果服务端在listen之后没有accept,那客户端的connect会返回吗?为什么? ...

                                                                                            2. 【java+selenium3】select 下拉选 (八)

                                                                                              一.select 下拉框 1.下拉选的处理类:Select 如果页面元素是一个下拉框,我们可以将此web元素封装成Select对象. Select select = new Select(WebEle ...

                                                                                            3. 攻防世界 WEB 高手进阶区 csaw-ctf-2016-quals mfw Writeup

                                                                                              攻防世界 WEB 高手进阶区 csaw-ctf-2016-quals mfw Writeup 题目介绍 题目考点 PHP代码审计 git源码泄露 Writeup 进入题目,点击一番,发现可能出现git ...

                                                                                            4. CCCC-exercise

                                                                                              CCCC-exercise 1.L1 总结L1 1-27里面我觉得有东西可以总结的题目 贴了部分的代码 L1-006(20) 一个正整数 N 的因子中可能存在若干连续的数字.例如 630 可以分解为 ...

                                                                                            5. Python变量和数据类型,类型转换

                                                                                              a.变量的定义 把数据分别用一个简单的名字代表,方便在接下来的程序中引用. 变量就是代表某个数据(值)的名称. 变量就是用来存储数据的,将不同的数据类型存储到内存   b.变量的赋值 变量名= 初始值 ...

                                                                                            6. 算法学习->递归典例N皇后问题

                                                                                              00 问题 在NN(这个N==N皇后的N)的方格棋盘上放置n个皇后,要求:1.每个皇后在不同行不同列:2.每个皇后在不同左右对角线 输出要求:输出符合条件的所有解,解以皇后的坐标的形式. 01 思路 ...

                                                                                            7. [cf1528F]AmShZ Farm

                                                                                              考虑$a_{i}$是"more-equal"的组合意义,有以下构造-- 有$n$个位置,每一次选择一个位置$a_{i}$,在$a_{i}$之后(包括$a_{i}$)的第一个空位上停 ...

                                                                                            8. DP+单调队列详解+题目

                                                                                              介绍: 单调队列优化的原理   先回顾单调队列的概念,它有以下特征:   (1)单调队列的实现.用双端队列实现,队头和队尾都能插入和弹出.手写双端队列很简单.   (2)单调队列的单调性.队列内的元素 ...

                                                                                            9. 如何查看dpdk版本

                                                                                              服务器上曾经装过很多版本的dpdk,此时如果编译某个程序出现奇怪错误的时候不由得会怀疑是不是dpdk版本的问题= = 令人吃惊的是,网上搜了一圈居然没有一个简单直接的方法能够直接使用,于是自己实验了一 ...

                                                                                            10. c++基础知识02

                                                                                              1.前置与后置区别 #include<iostream> using namespace std; int main() { //前置和后置区别 //前置递增或递减 先让变量加减1 然后进 ...