参考 mybatise-plus 官方文档 https://mybatis.plus/guide/dynamic-datasource.html
参考:https://www.cnblogs.com/phpdragon/p/14006031.html
1、maven 引包
<!--多数据源支持--> <dependency> <groupId>com.baomidou</groupId> <artifactId>dynamic-datasource-spring-boot-starter</artifactId> <version>3.2.1</version> </dependency>
2、springboot 启动类 添加
@SpringBootApplication(exclude = DruidDataSourceAutoConfigure.class)
3、application.yml 配置文件
spring:
autoconfigure:
#自动化配置 例外处理
exclude: com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure
redis:
#redissingle
host: www.test-redis.com
port: 6379
password: 123456
database: 0
ssl: false
datasource:
type: com.alibaba.druid.pool.DruidDataSource
dynamic:
primary: mysql
#设置默认的数据源或者数据源组,默认值即为master
strict: false
#设置严格模式,默认false不启动. 启动后在未匹配到指定数据源时候会抛出异常,不启动则使用默认数据源.
datasource:
mysql:
type: com.zaxxer.hikari.HikariDataSource
url: jdbc:mysql://www.test-mysql.com:3306/test?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&tinyInt1isBit=false&allowMultiQueries=true&serverTimezone=GMT%2B8&allowPublicKeyRetrieval=true
username: root
password: root
driver-class-name: com.mysql.cj.jdbc.Driver
sqlserver:
type: com.zaxxer.hikari.HikariDataSource
url: jdbc:sqlserver://192.168.99.01:1433;DatabaseName=test
username: sa
password: 123456
driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
4、
使用 @DS 切换数据源。
@DS 可以注解在方法上或类上,同时存在就近原则 方法上注解 优先于 类上注解。
5、启动测试、代码测试