Mybatis配置多資料來源

來源:互聯網
上載者:User

標籤:

一. 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配置多資料來源

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.