Mybatis配置多数据源

一. 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。

时间: 2024-08-03 04:06:07

Mybatis配置多数据源的相关文章

SpringBoot+Druid+Mybatis配置多数据源

我们在开发一个项目的时候,可能会遇到需要对多个数据库进行读写的需求,这时候就得在项目中配置多个数据源了.在Java项目的开发中,目前最常用的数据操作框架是 Mybatis,开发框架也都基本用上了SpringBoot.而Druid号称最好的数据库连接池,自然也是被广泛使用. 所以本文将演示一下,SpringBoot+Druid+Mybatis如何去配置多数据源.首先在IDEA中创建一个SpringBoot工程: 选择一些基本的包: 完成创建: pom.xml配置的依赖如下: <dependenci

[转]SpringMVC+ Mybatis 配置多数据源 + 手动切换数据源

正确可行的解决方法:使用Spring提供的AbstractRoutingDataSource类来根据请求路由到不同的数据源.具体做法是先设置两个不同的dataSource代表不同的数据源,再建一个总的dynamicDataSource,根据不同的请求去设置dynamicDataSource.代码如下: 配置文件spring-mybatis.xml <!--统一的dataSource--> <bean id="dynamicDataSource" class="

【转】一次SpringMVC+ Mybatis 配置多数据源经历

需求 现在在维护的是学校的一款信息服务APP的后台,最近要开发一些新功能,其中一个就是加入学校电影院的在线购票.在线购票实际上已经有一套系统了,但是是外包给别人开发的,我们拿不到代码只能拿到数据库,并且也不一定能很好的兼容之前的代码,所以需要基于这个数据库来进行新的开发. 现在用的后台是SpringMVC+Mybatis+MySQL开发的,购票用的是SQL Server 2008(好古老的东西了),因为要用一套用户体系所以不可能再去单独为了这个功能弄一个系统出来,因此要在原项目中兼容这个数据库.

springboot:mybatis配置多数据源

第一个数据源: import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.stereotype.Component; @Component @ConfigurationProperties(prefix = "spring.datasource") public class PropertiesDatasource { private St

Spring Boot + MyBatis + Pagehelper 配置多数据源

前言: 本文为springboot结合mybatis配置多数据源,在项目当中很多情况是使用主从数据源来读写分离,还有就是操作多库,本文介绍如何一个项目同时使用2个数据源. 也希望大家带着思考去学习!博主是最近才学的配置写成博文分享心得和技巧,文中有不足的欢迎留言指正,谢谢! 思考: 1.如果从传统的单数据源转换为多数据源,以前使用boot只用导包写配置文件boot会帮我们自动配置,如果不用自动配置我们改怎么配呢? 2.怎么结合mybatis分页插件一起使用呢? .................

配置多数据源 spring boot

一.使用jdbc 配置多数据源 1.yml数据源配置 2.配置类 package com.v246.common.config.datasource; import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceBuilder; import org.apache.ibatis.session.SqlSessionFactory; import org.mybatis.spring.SqlSessionFactoryBean

mybatis配置文件-连接数据源的配置

< ?xml version="1.0" encoding="UTF-8" ?>< !DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd">< configuration>    <typeAliases>    

MyBatis配置数据源的两种方式

---------------------siwuxie095 MyBatis 配置数据源的两种方式 1.配置方式一:配置数据库连接信息到核心配置文件中 在 mybatis-config.xml 中添加如下内容: <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" &

springboot+mybatis+Druid配置多数据源(mysql+postgre)

springboot+mybatis+Druid配置多数据源(mysql+postgre)引入pom依赖设置application多数据源config配置db1config配置(主数据库配置)db2config配置(其他数据库)事务处理mapper层 springboot+mybatis+Druid配置多数据源(mysql+postgre) 参考资料: 第八章 springboot + mybatis + 多数据源 springboot + mybatis + druid + 多数据源 spri