`
feiyu86
  • 浏览: 21308 次
  • 性别: 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 保留IBATIS事务的配置方式

    根据提供的文件信息,本文将详细解析Spring与iBatis整合时如何保留并使用iBatis事务管理机制,以及如何在应用程序中实现手动控制事务的方法。 ### Spring与iBatis整合 Spring框架是一个全面的企业级应用开发框架,...

    Spring高版本对ibatis的支持

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

    ibatis与spring整合

    定义DAO接口以及实现类,在实现类中注入`SqlMapClient`,并通过它执行具体的SQL操作。 4. **测试整合效果**: 通过编写单元测试或集成测试来验证ibatis与Spring的整合是否成功。 #### 五、总结 通过以上步骤,...

    STRUTS+Spring+Ibats

    2. 配置Spring:在applicationContext.xml中定义Bean,包括Action、Service以及iBatis的相关配置,如DataSource、SqlMapClient等。 3. 配置iBatis:在SqlMapConfig.xml中配置数据库连接信息,以及SQL映射文件的位置...

    Spring+ibatis 保留ibatis事务的配置

    给定的XML配置文件展示了如何在Spring中配置ibatis数据源以及ibatis事务管理器。首先,注释掉的`BasicDataSource`部分是用来配置数据源的,这里没有启用,而是选择了使用JNDI数据源。实际生产环境中,通常会使用...

    iBatis文档\ibatis.doc

    iBatis 是一款轻量级的Java持久层框架,它主要负责将数据库操作与业务逻辑解耦,使得开发者可以更加专注于SQL和业务代码的编写。本文档将详细讲解iBatis的核心概念、快速入门以及高级特性。 ### iBatis 快速启动 #...

    ibatis plugin用户指南

    与Eclipse中的Abator不同,iBatis Plugin不仅限于代码生成,而是全方位地优化了iBatis的开发体验。 **配置iBatis Plugin** 首先,你需要从IntelliJ IDEA的插件市场下载iBatis Plugin。安装完成后,配置数据源...

    Spring与iBATIS的集成示例代码

    在Spring的配置文件(如`applicationContext.xml`)中,我们需要定义数据源、SQLMapClient以及SqlMapClientTemplate。数据源通常使用DataSource bean来创建,例如使用Apache的DBCP或C3P0。SQLMapClient是iBATIS的...

    ibatis中文开发指南

    SQLMap是iBATIS中的一个关键组件,它负责解析XML配置文件,其中包含了数据库查询、更新和其他操作的SQL语句以及参数和结果的映射信息。SQLMap能够根据这些信息生成并执行SQL语句,同时处理返回的结果,将其转换成...

    Spring 2.5整合iBATIS 2.3并使用Spring的声明式事务管理

    1. **引入依赖**:在项目中添加Spring和iBATIS的JAR包,确保包含Spring的core、context、aop、transaction以及iBATIS的sqlmapclient、database、common等核心库。 2. **配置数据源**:在Spring的配置文件中定义数据...

    API ibatis2

    在iBATIS中,数据源(DataSource)负责连接数据库,而事务管理器(TransactionManager)则控制事务的开始、提交和回滚。通过SqlMapConfig.xml配置文件,我们可以灵活地设置数据源类型,如单数据源或多数据源,并定义...

    Spring+iBatis整合详解

    在整合过程中,我们需要将Spring、iBatis以及MySQL数据库驱动等相关的jar包添加到项目中。具体包括: - spring-framework-1.2.7:提供Spring的核心功能。 - iBATIS_DBL-2.1.7.597:iBatis的核心库。 - mysql-...

    ibatis的dtd文件

    其次,`sql-map-config-2.dtd`则是Ibatis的SQL映射配置文件的DTD,它定义了整个Ibatis系统的配置,如数据源、事务管理器、环境设置、SqlMapClient实例等。`&lt;transactionManager&gt;`元素定义了事务管理方式,如JDBC或...

    iBatis教程中文版

    在后续的例子中,我们将学习如何使用iBatis添加新数据到数据库以及删除现有数据。iBatis提供了一个强大的API,允许开发者根据业务需求灵活地构建和执行SQL语句,同时保持代码的整洁和可维护性。通过熟练掌握iBatis,...

    Spring+iBatis配置[归类].pdf

    在本文档中,我们将深入探讨Spring如何与iBatis协同工作,包括JavaBean实体、映射文件的配置,以及DAO实现的连接。 1. **Spring对iBatis的支持** Spring为iBatis提供了全面的内建支持,这主要体现在`org.spring...

    详细介绍Ibatis的用法

    在Ibatis中,JavaBean是与数据库表对应的实体类。 #### Resources和DataSource - **Resources**:Ibatis提供了一套资源管理工具,用于处理类路径下的资源文件。 - **SimpleDataSource**:提供了一个简单的数据源...

    ibatis配置文件信息

    在Java开发领域中,ibatis(现称为MyBatis)是一款优秀的持久层框架,它通过XML或注解的方式将接口方法与SQL语句绑定起来,实现对象关系映射(ORM)功能。ibatis的主要优势在于其强大的SQL查询能力和对结果集的灵活...

Global site tag (gtag.js) - Google Analytics