`
benbenxiongyuan
  • 浏览: 109997 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
社区版块
存档分类
最新评论

spring ibatis 多数据源 事务配置

    博客分类:
  • Java
阅读更多
网上找的,spring+ibatis+struts1.2 的多数据源事务配置。没试过。先做下记录。

jdbc.properties文件内容:
jdbc2.driverClassName=net.sourceforge.jtds.jdbc.Driver
jdbc2.url=jdbc:jtds:sqlserver://10.101.122.9:1433/testdb;charset=gb2312
jdbc2.username=user1
jdbc2.password=password

jdbc.driverClassName=oracle.jdbc.driver.OracleDriver
jdbc.url=jdbc:oracle:thin:@10.101.126.29:1521:DBSERVER
jdbc.username=user1
jdbc.password=password

applicationContext.xml配置文件内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" "http://www.springframework.org/dtd/spring-beans-2.0.dtd">
<beans>
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
    <list>
      <value>jdbc.properties</value>
    </list>
</property>
</bean>
<!-- =========================transactionManager========================= -->
<bean id="autoProxyCreator" class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
<property name="beanNames">
    <value>*Service</value>
</property>
<property name="interceptorNames">
    <list>
      <value>transactionInterceptor</value>
       <value>transactionInterceptor2</value>
    </list>
</property>
</bean>

<!-- =========================oracle dataSource========================= -->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
   <property name="driverClassName" value="${jdbc.driverClassName}"/>
   <property name="url" value="${jdbc.url}"/>
   <property name="username" value="${jdbc.username}"/>
   <property name="password" value="${jdbc.password}"/>

</bean>
       <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
   <property name="dataSource" ref="dataSource"/>
</bean>
      <bean id="transactionInterceptor" class="org.springframework.transaction.interceptor.TransactionInterceptor">
   <property name="transactionManager" ref="transactionManager"/>
                <property name="transactionAttributes">
                <props>
                <prop key="insert*">PROPAGATION_REQUIRED</prop>
                <prop key="delete*">PROPAGATION_REQUIRED</prop>
                <prop key="update*">PROPAGATION_REQUIRED</prop>
                <prop key="do*">PROPAGATION_REQUIRED</prop>
                 </props>
                </property>
</bean>
<bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
   <property name="configLocation" value="sql-map-config.xml"/>
   <property name="dataSource" ref="dataSource"/>
</bean>
<!-- =========================sqlserver dataSource========================= -->
   <bean id="dataSource2" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
   <property name="driverClassName" value="${jdbc2.driverClassName}"/>
   <property name="url" value="${jdbc2.url}"/>
   <property name="username" value="${jdbc2.username}"/>
   <property name="password" value="${jdbc2.password}"/>
</bean>
    <bean id="transactionManager2" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
   <property name="dataSource" ref="dataSource2"/>
</bean>
<bean id="transactionInterceptor2" class="org.springframework.transaction.interceptor.TransactionInterceptor">
   <property name="transactionManager" ref="transactionManager2"/>
                <property name="transactionAttributes">
                <props>
                <prop key="insert*">PROPAGATION_REQUIRED</prop>
                <prop key="delete*">PROPAGATION_REQUIRED</prop>
                <prop key="update*">PROPAGATION_REQUIRED</prop>
                <prop key="do*">PROPAGATION_REQUIRED</prop>
                 </props>
                </property>
</bean>
   <bean id="sqlMapClient2" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
   <property name="configLocation" value="sql-map-config.xml"/>
   <property name="dataSource" ref="dataSource2"/>
</bean>


   <!-- =========================DAO配置 example ========================= -->
        <bean id="FirstDAO" class="com.demo.impl.FirstDAOImpl">
   <property name="sqlMapClient" ref="sqlMapClient"/>
</bean>
       <bean id="SecondDAO" class="com.demo.impl.SecondDAOImpl">
   <property name="sqlMapClient" ref="sqlMapClient2"/>
</bean>

   <bean id="FirstService" class="com.demo.impl.FirstServiceImpl">
        <property name="firstDAO" ref="FirstDAO"/>
   </bean>
   <bean id="SecondService" class="com.demo.impl.SecondServiceImpl">
      <property name="secondDAO" ref="SecondDAO"/>
   </bean>
</beans>




分享到:
评论
4 楼 bo_hai 2012-12-14  
你们配置成功了吗 ?我按你的方案配置,事务不回滚呀。求指教 ?
3 楼 zqwfd 2011-06-17  
牛c,比nb狠
2 楼 benbenxiongyuan 2011-06-17  
zqwfd 写道
nc高手啊

nc是啥意思?
1 楼 zqwfd 2011-06-16  
nc高手啊

相关推荐

    Spring+ibatis 保留ibatis事务的配置

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

    spring ibatis 配置(包括事务管理)

    7. **AOP事务配置**:接下来,我们需要在Spring中配置AOP事务规则,定义哪些方法需要在事务中执行。通常使用`@Transactional`注解,但要在配置文件中开启注解驱动的事务管理。 ```xml ``` 8. **使用示例**:在...

    SPRING IBATIS 保留IBATIS事务的配置方式

    最值得关注的部分是iBatis的事务管理配置,这里明确指定了事务管理器的类型为`JDBC`,并且定义了数据源的具体参数。 ```xml ``` 这样的配置意味着iBatis将使用JDBC的方式进行事务管理,即所有的事务...

    spring+ibatis声明式事务Demo_

    在Spring中,事务管理器会与数据源配合,处理事务的开始、提交和回滚。 3. **@Transactional注解**:在业务服务类的方法上添加此注解,即可启用声明式事务管理。注解可以指定传播行为(如REQUIRED、REQUIRES_NEW等...

    spring ibatis整合所需jar包

    7. 事务配置:根据业务需求,配置Spring的事务管理器,如PlatformTransactionManager,以控制事务的边界。 8. 整合测试:编写测试类,通过@Autowired注解注入DAO接口,进行数据库操作的测试,确保Spring和iBatis的...

    装饰模式 切换 ibatis 多数据源

    在iBatis中,我们可以通过Spring框架的`AbstractRoutingDataSource`来实现类似的功能,它可以根据上下文信息(如线程绑定的变量)动态选择数据源。不过,如果需要自定义更复杂的逻辑,比如基于用户权限的数据源切换...

    spring+ibatis声明式事务Demo

    1. 配置数据源(DataSource):这是所有数据库操作的基础,需要指定数据库连接的相关参数。 2. 创建SqlSessionFactory:使用`SqlSessionFactoryBean`,并注入数据源,生成SqlSessionFactory实例。 3. 创建...

    spring+ibatis配置实例

    2. `sqlMapConfig.xml`:iBatis的配置文件,定义了数据源、事务管理器以及映射文件的位置。 标签中提到的`springmvc`是Spring的一个模块,Spring MVC提供了模型-视图-控制器架构,用于处理HTTP请求和响应。配置...

    Spring+Ibatis 访问多个数据源

    下面将详细介绍如何在Spring中配置和使用多个数据源,以及结合Ibatis进行数据访问。 首先,我们需要在`jdbc.properties`文件中配置每个数据源的相关参数,如驱动类名、URL、用户名和密码。在这个例子中,有两个数据...

    基于maven的struts+spring+ibatis(ssi)经典配置

    同时,Spring的`applicationContext.xml`会配置bean,包括数据源、事务管理器以及业务服务接口和实现。对于iBatis,`sqlmapconfig.xml`会配置数据源和SQL映射文件。 【标签】:“源码”和“工具” "源码"标签表明...

    spring与ibatis整合集成实例

    Spring 配置文件中定义数据源、事务管理器以及 SqlSessionFactoryBean;iBATIS 配置文件中则包含数据源信息、SQL 映射文件路径等。 4. **MyBatis-Spring 桥接库**:为了简化整合过程,可以使用 MyBatis-Spring 这个...

    Spring+Struts+ibatis下配置数据读写分离及事务(一)

    这包括在Spring配置文件中定义数据源、事务管理器以及对应的bean;在Struts的配置文件中定义Action并指定其事务属性;最后,在iBATIS的配置中设置数据源,并编写针对读库和写库的SQL映射文件。 值得注意的是,数据...

    ibatis_spring源代码

    综上所述,`iBatis_Spring`源代码的学习涵盖了数据库连接、SQL映射、事务处理、依赖注入等多个核心概念,通过深入理解这些知识点,开发者可以更好地掌握企业级Java应用的开发技巧。在实际项目中,这样的整合可以带来...

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

    2. **配置数据源**:在Spring的配置文件中定义数据源(DataSource),这是Spring与数据库交互的基础。可以使用Apache Commons DBCP或者C3P0等连接池实现。 ```xml &lt;!-- 数据源配置 --&gt; ``` 3. **配置...

    Struts2+Spring+Hibernate和Struts2+Spring+Ibatis

    - 集成Hibernate或Ibatis,配置数据源、SessionFactory(或SqlSessionFactory)以及实体映射。 - 编写DAO接口和实现,利用Hibernate的Session或Ibatis的SqlSession执行数据库操作。 - 在Action中注入Service,由...

    struts2 spring ibatis 整合架构

    6. **配置数据源**:在Spring中配置数据源,以便iBatis能够连接数据库。 7. **编写Mapper接口和XML文件**:定义数据库操作接口,XML文件中编写具体的SQL语句。 8. **测试**:编写JUnit测试或在实际应用中测试整合后...

    maven搭建SpringMVC+spring+ibatis

    在SpringMVC+Spring+Ibatis的架构中,多数据源配置是一项重要特性。这允许应用连接到多个数据库,根据业务需求选择合适的数据库进行操作。在Spring中,可以通过DataSourceRouter或AbstractRoutingDataSource实现动态...

Global site tag (gtag.js) - Google Analytics