SpringBoot+Mybatis-Plus使用多数据源
常见的使用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使用多数据源的更多相关文章
- springboot+mybatis实现动态切换数据源
前几天有个需求,需要使用不同的数据源,例如某业务要用A数据源,另一个业务要用B数据源.我上网收集了一些资料整合了一下,虽然最后这个需求不了了之了,但是多数据源动态切换还是蛮好用的,所以记录一下,或许以 ...
- Springboot+mybatis+druid 配置多数据源
项目结构 application.yml配置文件 spring: application: name: service datasource: primary: jdbc-url: jdbc:orac ...
- springboot学习笔记:9.springboot+mybatis+通用mapper+多数据源
本文承接上一篇文章:springboot学习笔记:8. springboot+druid+mysql+mybatis+通用mapper+pagehelper+mybatis-generator+fre ...
- springboot+mybatis+通用mapper+多数据源(转载)
1.数据库准备 数据库表我们在springboot-mybatis数据之外,新建数据库springboot-mybatis2: springboot-mybatis数据库中有t_class表: spr ...
- SpringBoot+MyBatis+MySQL读写分离(实例)
1. 引言 读写分离要做的事情就是对于一条SQL该选择哪个数据库去执行,至于谁来做选择数据库这件事儿,无非两个,要么中间件帮我们做,要么程序自己做.因此,一般来讲,读写分离有两种实现方式.第一种是 ...
- 第九章 springboot + mybatis + 多数据源 (AOP实现)
在第八章 springboot + mybatis + 多数据源代码的基础上,做两点修改 1.ShopDao package com.xxx.firstboot.dao; import org.spr ...
- SpringBoot Mybatis项目中的多数据源支持
1.概述 有时项目里里需要抽取不同系统中的数据源,需要访问不同的数据库,本文介绍在Springboot+Mybatis项目中如何支持多数据源操作. 有需要的同学可以下载 示例代码 项目结构如下: 2. ...
- spring-boot (四) springboot+mybatis多数据源最简解决方案
学习文章来自:http://www.ityouknow.com/spring-boot.html 配置文件 pom包就不贴了比较简单该依赖的就依赖,主要是数据库这边的配置: mybatis.confi ...
- springboot + mybatis + 多数据源
此文已由作者赵计刚薪授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验 在实际开发中,我们一个项目可能会用到多个数据库,通常一个数据库对应一个数据源. 代码结构: 简要原理: 1) ...
- springboot+mybatis集成多数据源MySQL/Oracle/SqlServer
日常开发中可能时常会遇到一些这样的需求,业务数据库和第三方数据库,两个或多个数据库属于不同数据库厂商,这时候就需要通过配置来实现对数据库实现多源处理.大致说一下我的业务场景,框架本身是配置的sprin ...
随机推荐
- 在linu系统安装apache全过程(httpd、apr、apr-util、pcre)以及进行相应配置
1.下载安装包,需要下面3个安装包[root@bes2 apache]# ll总用量 8520-rw-r--r--. 1 root root 1020833 9月 18 17:47 apr-1.5.1 ...
- Spring Boot整合Thrift RPC
[转载] https://coder4.com/homs_online/spring-boot/sb-thrift.html Spring Boot自动配置简介 在介绍RPC之前,我们先来学习下Spr ...
- Macos 安装md5sum、sha1sum、md5deep、sha1deep
一.安装md5sum和sha1sum 方法一:brew 安装 # brew install md5sha1sum 方法二:编译安装 源码下载地址:http://www.microbrew.org/to ...
- 【转载】Spring Cloud Gateway监控
http://www.imooc.com/article/290822 欢迎加入Spring Cloud Gateway监控豪华套餐-- 只要为Spring Cloud Gateway添加Spring ...
- vue3 封装axios
1添加一个新的 http.js文件 封装axios 引入axios //引入Axios import axios from 'axios' 定义一个根地址 //视你自己的接口地址而定 var root ...
- 痞子衡嵌入式:MCUXpresso for VS Code开发环境搭建及SDK工程导入
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是MCUXpresso for VS Code开发环境搭建及SDK工程导入. MCUXpresso IDE(包括其前身 LPCXpress ...
- svtools简介
svtools - Comprehensive utilities to explore structural variations in genomes svtools不仅是一个工具,更因为它带有许 ...
- Spring基础 01 | Ioc
Maven项目的创建 项目所在路径 - 项目一 - 创建Module - 添加Webapp(Project Structure) - 项目二 Spring简介 分层全栈(各层解决方案)轻量级框架,以I ...
- 记录一下vue的插件
2022.1.25今天记录下下载文件的插件 js-file-download 以防遗忘 首先npm install js-file-download --save 其次引入import file ...
- AutoGen入门-让两个AI自行聊天完成任务
AutoGen介绍 AutoGen 是一个开源编程框架,用于构建 AI 代理并促进多个代理之间的合作以解决问题.AutoGen 旨在提供一个易于使用和灵活的框架,以加速代理型 AI 的开发和研究,就像 ...