zoukankan      html  css  js  c++  java
  • Mybatis配置多数据源

    一. Spring配置多数据源

    image

    二. Spring配置数据源

    image

    三. 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)配置切点

    image

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

    (2)配置切面

    image

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

  • 相关阅读:
    axure rp8.0 序列号,亲测可以用
    纯html页面之间传参
    js下载项目中的文件
    Java获取用户ip
    阿里云部署多个tomcat
    少小有才国家用,老大空长做何为
    获取 web 服务器 port
    知识的迁移和学习能力才是最重要的
    eclipse 安装和使用AmaterasUML
    Eclipse中tomcat更改部署路径 deply path
  • 原文地址:https://www.cnblogs.com/bloodhunter/p/5438177.html
Copyright © 2011-2022 走看看