码迷,mamicode.com
首页 > 其他好文 > 详细

Mybatis配置多数据源

时间:2016-04-27 12:57:04      阅读:186      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!