常见的使用Mybatis-Plus配置多数据源方式有两种:一种是通过java config的方式手动配置两个数据源,另一种方式便是使用 dynamic-datasource-spring-boot-starter。

dynamic-datasource-spring-boot-starter 是一个基于springboot的快速集成多数据源的启动器。下面介绍​使用 dynamic-datasource-spring-boot-starter 配置多数据源:

1、引入依赖
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>dynamic-datasource-spring-boot-starter</artifactId>
<version>3.3.2</version>
</dependency>
2、application.properties添加配置
spring.autoconfigure.exclude=com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure

#设置默认数据库源
spring.datasource.dynamic.primary=mydb1
#严格匹配数据源,默认为false,true未匹配到指定数据库时抛异常,false使用默认数据源
spring.datasource.dynamic.strict=false
#配置数据源mydb1
spring.datasource.dynamic.datasource.mydb1.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.dynamic.datasource.mydb1.url=jdbc:mysql://localhost:3306/mydb1?serverTimezone=UTC
spring.datasource.dynamic.datasource.mydb1.username=root
spring.datasource.dynamic.datasource.mydb1.password=123456
#配置数据源mydb2
spring.datasource.dynamic.datasource.mydb2.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.dynamic.datasource.mydb2.url=jdbc:mysql://localhost:3306/mydb2?serverTimezone=UTC
spring.datasource.dynamic.datasource.mydb2.username=root
spring.datasource.dynamic.datasource.mydb2.password=123456
3、使用
通过 @DS 注解配置选择数据源,并且可以在类上进行配置。如果不使用@DS注解的类则使用primary配置的默认数据源。

@DS("mydb1")
@Mapper
public interface UserMapper extends BaseMapper<User> {
}
@DS("mydb2")
@Mapper
public interface ProductMapper extends BaseMapper<Product> {
}
@Autowired
UserMapper userMapper;
@Autowired
ProductMapper productMapper;

void test() {
User user = userMapper.selectById(1);
System.out.println("数据源mydb1:"+user.toString());
Product product = productMapper.selectById(2);
System.out.println("数据源mydb2:"+product.toString());
}
4、集成druid连接池
引入依赖

<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.2.12</version>
</dependency>
修改配置文件,排除掉druid原生的自动配置

spring.autoconfigure.exclude=com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure
或者修改Application

@SpringBootApplication(exclude = DruidDataSourceAutoConfigure.class)

SpringBoot+Mybatis-Plus使用多数据源的更多相关文章

  1. springboot+mybatis实现动态切换数据源

    前几天有个需求,需要使用不同的数据源,例如某业务要用A数据源,另一个业务要用B数据源.我上网收集了一些资料整合了一下,虽然最后这个需求不了了之了,但是多数据源动态切换还是蛮好用的,所以记录一下,或许以 ...

  2. Springboot+mybatis+druid 配置多数据源

    项目结构 application.yml配置文件 spring: application: name: service datasource: primary: jdbc-url: jdbc:orac ...

  3. springboot学习笔记:9.springboot+mybatis+通用mapper+多数据源

    本文承接上一篇文章:springboot学习笔记:8. springboot+druid+mysql+mybatis+通用mapper+pagehelper+mybatis-generator+fre ...

  4. springboot+mybatis+通用mapper+多数据源(转载)

    1.数据库准备 数据库表我们在springboot-mybatis数据之外,新建数据库springboot-mybatis2: springboot-mybatis数据库中有t_class表: spr ...

  5. SpringBoot+MyBatis+MySQL读写分离(实例)

    ​ 1. 引言 读写分离要做的事情就是对于一条SQL该选择哪个数据库去执行,至于谁来做选择数据库这件事儿,无非两个,要么中间件帮我们做,要么程序自己做.因此,一般来讲,读写分离有两种实现方式.第一种是 ...

  6. 第九章 springboot + mybatis + 多数据源 (AOP实现)

    在第八章 springboot + mybatis + 多数据源代码的基础上,做两点修改 1.ShopDao package com.xxx.firstboot.dao; import org.spr ...

  7. SpringBoot Mybatis项目中的多数据源支持

    1.概述 有时项目里里需要抽取不同系统中的数据源,需要访问不同的数据库,本文介绍在Springboot+Mybatis项目中如何支持多数据源操作. 有需要的同学可以下载 示例代码 项目结构如下: 2. ...

  8. spring-boot (四) springboot+mybatis多数据源最简解决方案

    学习文章来自:http://www.ityouknow.com/spring-boot.html 配置文件 pom包就不贴了比较简单该依赖的就依赖,主要是数据库这边的配置: mybatis.confi ...

  9. springboot + mybatis + 多数据源

    此文已由作者赵计刚薪授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验 在实际开发中,我们一个项目可能会用到多个数据库,通常一个数据库对应一个数据源. 代码结构: 简要原理: 1) ...

  10. springboot+mybatis集成多数据源MySQL/Oracle/SqlServer

    日常开发中可能时常会遇到一些这样的需求,业务数据库和第三方数据库,两个或多个数据库属于不同数据库厂商,这时候就需要通过配置来实现对数据库实现多源处理.大致说一下我的业务场景,框架本身是配置的sprin ...

随机推荐

  1. RocketMQ系列2:领域模型和技术概念

    ★消息队列16篇 1 领域模型 Apache RocketMQ 是一款典型的分布式架构下的消息中间件产品,使用异步通信方式和发布订阅的消息传输模型. Apache RocketMQ 产品具备异步通信的 ...

  2. [Java] Stream流使用最多的方式

    Java 中 Stream 流的用法全解析 在 Java 编程中,Stream 流提供了一种高效.便捷的方式来处理集合数据.它可以让我们以声明式的方式对数据进行各种操作,如过滤.映射.排序.聚合等,大 ...

  3. 《前端运维》一、Linux基础--08Shell其他及补充

    这一篇,我们来学习一些重要的命令,在工作中也会经常用到. 一.简单正则 要注意的是,有些命令不支持正则模式,比如fs.find等,有些是支持正则的,比如grep.awk.sed等.正则的语法和js中的 ...

  4. ADB安装与环境配置

    前言 ADB(Android debug bridge)是可以操作Android设备的命令行工具 安装 点击链接即可直接下载 Windows https://dl.google.com/android ...

  5. 04. PART 2 IdentityServer4 ASP.NET Core Identity .NET Core 3.1

    04. PART 2 IdentityServer4 ASP.NET Core Identity .NET Core 3.1 如果您已经来到这里,那么祝贺你的坚持,最难的部分已经完成了.我们仅仅需要的 ...

  6. 为什么C#越来越恶心

    看看这个 再看这些 more 老子声明个空函数,没有访问数据请改为 static,真是越来越智障 为什么一个活泼的语言越搞越像 C++? C# 发明了各种可爱的小玩意儿,尤其是 async/await ...

  7. Jackson ObjectMapper - 指定对象属性的序列化顺序

    注释很有用,但在任何地方应用起来都会很痛苦.您可以配置整个 ObjectMapper 以这种方式工作 当前杰克逊版本: objectMapper.configure(MapperFeature.SOR ...

  8. [转]OpenSSL主配置文件openssl.cnf

    https://www.cnblogs.com/f-ck-need-u/p/6091027.html openssl系列文章:http://www.cnblogs.com/f-ck-need-u/p/ ...

  9. 03-FTP和TFTP命令

    http://www.h3c.com/cn/d_202101/1375275_30005_0.htm 1 FTP 1.1 FTP服务器配置命令 1.1.1 display ftp-server 1.1 ...

  10. DVWA靶场搭建及错误解决教程

    前言 DVWA(Damn Vulnerable Web Application)靶场是一个旨在帮助安全人员和开发人员学习和提高网络安全技能的开源项目.它是一个故意存在多种安全漏洞的 PHP/MySQL ...