首页 > 其他 > 详细

Mybatis配置多数据源

时间:2016-04-27 12:54:49      阅读:607      评论:0      收藏:0      [点我收藏+]

一. Spring配置多数据源

技术分享

二. Spring配置数据源

技术分享

三. MultipleDataSource的实现

   1: package com.wbl.modal;
   2:  
   3: import org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource;
   4:  
   5: /**
   6:  * Created with Simple_love
   7:  * Date: 2016/4/26.
   8:  * Time: 11:12
   9:  */
  10: public class MultipleDataSource extends AbstractRoutingDataSource{
  11:  
  12:         private static final ThreadLocal<String> dataSourceKey = new InheritableThreadLocal<String>();
  13:  
  14:         public static void setDataSourceKey(String dataSource) {
  15:                 dataSourceKey.set(dataSource);
  16:         }
  17:  
  18:         @Override
  19:         protected Object determineCurrentLookupKey() {
  20:                 return dataSourceKey.get();
  21:         }
  22: }

MultipleDataSource实现AbstractRoutingDataSource抽象类,然后实现了determineCurrentLookupKey方法,这个方法用于选择具体使用targetDataSources中的哪一个数据源

四.利用Spring的AOP实现数据源的自动切换

(1)配置切点

技术分享

切点setDataSource表示当执行com.wbl.service包下所有类的所有方法,都会执行切面。因为在service调用了dao层的所有操作,所以需要在进入dao层之前更换数据源。

(2)配置切面

技术分享

当调用的是外部数据源对应的service时,就切换数据源为otherDataSource,对于其他Service则切换为DataSource。

Mybatis配置多数据源

原文:http://www.cnblogs.com/bloodhunter/p/5438177.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!