`
feiyu86
  • 浏览: 21092 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Ibatis中SqlMapClient与SqlMapTemplate以及DataSource

阅读更多
Ibatis-Context.xml文件内容
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
   <bean id="dataSource"
        class="org.apache.commons.dbcp.BasicDataSource"
        destroy-method="close">
        <property name="driverClassName">
             <value>net.sourceforge.jtds.jdbc.Driver</value>
        </property>
        <property name="url">
             <value>jdbc:jtds:sqlserver://127.0.0.1:1433/Sample</value>
        </property>
        <property name="username">
             <value>test</value>
         </property>
         <property name="password">
             <value>changeit</value>
         </property>
  </bean>
  <bean id="sqlMapClient"
        class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
         <property name="configLocation">
             <value>SqlMapConfig.xml</value>
         </property>
    </bean>
    <bean id="transactionManager"
         class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
         <property name="dataSource">
            <ref local="dataSource"/></property>
    </bean>
   <bean id="userDAO" class="net.xiaxin.dao.UserDAO">
          <property name="dataSource">
              <ref local="dataSource" />
          </property>
          <property name="sqlMapClient">
                <ref local="sqlMapClient" />
           </property>
   </bean>
   <bean id="userDAOProxy"
  class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
       <property name="transactionManager">
            <ref bean="transactionManager" />
        </property>
         <property name="target">
             <ref local="userDAO" />
          </property>
         <property name="transactionAttributes">
            <props>
                <prop key="insert*">PROPAGATION_REQUIRED</prop>
                 <prop key="get*">PROPAGATION_REQUIRED,readOnly</prop>
           </props>
         </property>
  </bean>
</beans>


1.SqlMapClientFactoryBean类似SessionFactory之与Hibernate,这里我们引入了针对ibatis
       SqlMap的SqlMapClientFactoryBean配置。SqlMapClient对于ibatis的意义类似于session与Hibernate以及Connection与JDBC,这里的sqlMapClient节点实际上配置了一个sqlMapClient的创建工厂类。configLocation属性配置了ibatis映射文件的名称。

2. transactionManager节点
    这里我们的transactionManager配置与之前JDBC示例中相同,都采用了
DataSourceTransactionManager,这与Hibernate有些差异。
3. userDAO节点
对应的,UserDAO需要配置两个属性,sqlMapClient和DataSource,
sqlMapClient将从指定的DataSource中获取数据库连接。
public class UserDAO extends SqlMapClientDaoSupport implements
     IUserDAO {
           public void insertUser(User user) {
            getSqlMapClientTemplate().update("insertUser", user);
}
}


SqlMapClientDaoSupport(如果使用ibatis 1.x版本,对应支持类是
SqlMapDaoSupport)是Spring中面向ibatis的辅助类,它负责调度DataSource、SqlMapClientTemplate(对应ibatis 1.x版本是SqlMapTemplate)完成ibatis操作,
而DAO则通过对此类进行扩展获得上述功能。上面配置文件中针对UserDAO的属性设
置部分,其中的属性也是继承自于这个基类。
SqlMapClientTemplate对传统SqlMapClient调用模式进行了封装,简化了上层访问
代码。
分享到:
评论

相关推荐

    Spring高版本对ibatis的支持

    最近想在最新的Spring5.0中集成ibatis(不是mybatis),发现已经不在支持SqlmapClientTemplate和SqlmapClientFactoryBean,于是搞了这个工具jar来进行支持如下配置 &lt;bean id="sqlMapClient" class="org.spring...

    ibatis 开发指南(pdf)

    使用ibatis 提供的ORM 机制,对业务逻辑实现人员而言,面对的是纯粹的Java 对象, 这一层与通过Hibernate 实现ORM 而言基本一致,而对于具体的数据操作,Hibernate 会自动生成SQL 语句,而ibatis 则要求...

    IBATIS实用记录

    2.1.3 dataSource节点 4 2.1.4 sqlMap节点 6 3. IBATIS基础语义 6 3.1 XMLSQLMAPCLIENTBUILDER 6 3.2 SQLMAPCLIENT 6 3.3 SQLMAPCLIENT基本操作示例 6 3.3.1 数据写入操作(insert, update, delete) 6 3.3.2 数据查询...

    iBatis SQL Maps开发指南.pdf

    &lt;datasource&gt;元素 元素 SQL Map XML映射文件 Mapped Statements Statement的类型 SQL 语句 自动生成的主键 存储过程 parameterClass parameterMap Inline Parameter简介 resultClass resultMap cacheModel ...

    iBatis-设置缓存模式-Java源码(下载)

    import com.ibatis.sqlmap.client.SqlMapClient; public class Main { public static void main(String[] a) throws Exception { Util util = new Util(); util .executeSQLCommand("create table ...

    springmvc-ibatis

    &lt;bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean"&gt; &lt;value&gt;classpath:ibatis-Base.xml &lt;property name="dataSource"&gt; &lt;ref bean="dataSource"/&gt; &lt;!-- 配置...

    spring applicationContext 配置文件

    &lt;bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean" p:dataSource-ref="dataSourceProxy"&gt; &lt;value&gt;classpath:SqlMapConfig.xml&lt;/value&gt; &lt;/property&gt; ...

    SSI框架整合实例

    &lt;bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean"&gt; &lt;property name="dataSource" ref="dataSource"/&gt; &lt;value&gt;classpath:SqlMapConfig.xml &lt;property name="...

    iBATIS 帮助文档

    &lt;datasource&gt;元素...........................................................................................................14 元素.........................................................................

    Spring-Reference_zh_CN(Spring中文参考手册)

    12.5.1. iBATIS 1.x和2.x的概览与区别 12.5.2. iBATIS SQL Maps 1.x 12.5.2.1. 创建SqlMap 12.5.2.2. 使用 SqlMapTemplate 和 SqlMapDaoSupport 12.5.3. iBATIS SQL Maps 2.x 12.5.3.1. 创建SqlMapClient 12.5.3.2....

    Spring中文帮助文档

    5.4.1. 设置和获取属性值以及嵌套属性 5.4.2. 内建的PropertyEditor实现 6. 使用Spring进行面向切面编程(AOP) 6.1. 简介 6.1.1. AOP概念 6.1.2. Spring AOP的功能和目标 6.1.3. AOP代理 6.2. @AspectJ支持 ...

    Spring API

    5.4.1. 设置和获取属性值以及嵌套属性 5.4.2. 内建的PropertyEditor实现 6. 使用Spring进行面向切面编程(AOP) 6.1. 简介 6.1.1. AOP概念 6.1.2. Spring AOP的功能和目标 6.1.3. AOP代理 6.2. @AspectJ支持 ...

Global site tag (gtag.js) - Google Analytics