数据源1

<bean id="dataSource1" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="oracle.jdbc.OracleDriver" />
<property name="url" value="jdbc:oracle:thin:@//IP地址1:1521/数据库名1" />
<property name="username" value="用户名" />
<property name="password" value="密码" />
</bean>
<bean id="sqlSessionFactory1" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource1" />
<property name="configLocation" value="classpath:myBatis/myBatis-Configuration1.xml" />
</bean>
<bean id="mapper1" class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.zxg.dao1" />
<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory1" />
</bean>
<bean id="transactionManager1" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource1" />
</bean>
<tx:annotation-driven transaction-manager="transactionManager1" />

数据源2

<bean id="dataSource2" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="oracle.jdbc.OracleDriver" />
<property name="url" value="jdbc:oracle:thin:@//IP地址2:1521/数据库名2" />
<property name="username" value="用户名" />
<property name="password" value="密码" />
</bean>
<bean id="sqlSessionFactory2" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource2" />
<property name="configLocation" value="classpath:myBatis/myBatis-Configuration2.xml" />
</bean>
<bean id="mapper2" class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.zxg.dao2" />
<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory2" />
</bean>
<bean id="transactionManager2" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource2" />
</bean>
<tx:annotation-driven transaction-manager="transactionManager2" />

注:xx1Mapper.java  和  xx1Mapper.xml      、 xx2Mapper.java 和 xx2Mapper.xml

上下文中不能出现同名的

结果:操作db1 调用 mapper1 ,操作db2 调用 mapper2

配置多数据源时需注意的单元测试问题:

@ContextConfiguration(locations = { "classpath*:spring/root/private_*.xml" })
@RunWith(SpringJUnit4ClassRunner.class)
@Transactional

如果 @Transactional 不指定具体的,会报异常

java.lang.IllegalStateException: Failed to retrieve PlatformTransactionManager for @Transactional test for test context

需要具体指定一个 TransactionManager

例如:

@Transactional("txManagerAlpha")

最新文章

  1. hbase 简单操作
  2. 二叉搜索树的实现及指针问题的一点思考(C++)
  3. jq获取后台json并解析
  4. html doctype 作用介绍
  5. (转)关于rdlc报表的数据源
  6. iOS 支付宝支付集成获取私钥
  7. spring 动态数据源
  8. 【HDOJ】1423 Greatest Common Increasing Subsequence
  9. 用VS2005编译生成Lua库文件和解释器
  10. eNSP自学入门(基础)
  11. 高仿bootstrap样式的分页插件
  12. backbone的一些认识
  13. 使用Tornado异步接入第三方(支付宝)支付
  14. WeakHashMap
  15. Java 8 新特性-菜鸟教程 (9) -Java8 Base64
  16. Asp.Net EF查看生成sql(MiniProfiler)
  17. 从0开始安装fedora23的笔记-- 以及使用fedora的常规问题-2
  18. NetBeans IDE 多行标签设置方法
  19. 玩转mongodb(七):索引,速度的引领(全文索引、地理空间索引)
  20. &lt;a&gt;, &lt;input&gt;, &lt;button&gt;的区分与何时使用

热门文章

  1. gpio_get_value的定义 (转)
  2. 转HTTP协议 --- Cookie
  3. oracle数据库启动时出现ORA-01157和ORA-01110问题
  4. java 面向对象 — 类和对象
  5. Azkaban任务流编写
  6. [saiku] 通过管理台配置用户、schema和数据源
  7. Ubuntu 中安装 Docker
  8. Windows下测量cpu利用率的类
  9. FCCMBBTN.RES
  10. 迷你MVVM框架 avalonjs 0.94发布