第一种:使用与MyBaits-Plus师出同门的“dynamic-datasource-spring-boot-starter”
官网地址:
基础必读(免费) · dynamic-datasource · 看云
1:引入依赖
<!-- 苞米豆多数据源 -->
<dependency><groupId>com.baomidou</groupId><artifactId>dynamic-datasource-spring-boot-starter</artifactId><version>3.5.1</version>
</dependency>
2:配置文件
# 多数据源使用 @DS 可以注解在方法上和类上,同时存在方法注解优先于类上注解。建议注解在serviceImpl类或mapper接口方法上。
# 不写 @DS 注解,默认使用DB1
spring:datasource:dynamic:#启用动态数据源,默认trueenabled: true#设置默认的数据源或者数据源组,默认值即为masterprimary: DB1#严格匹配数据源,默认false. true未匹配到指定数据源时抛异常,false使用默认数据源strict: false#是否优雅关闭数据源,默认为false,设置为true时,关闭数据源时如果数据源中还存在活跃连接,至多等待10s后强制关闭grace-destroy: falsedatasource:DB1:url: jdbc:mysql://127.0.0.1:3306/数据库?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai&zeroDateTimeBehavior=CONVERT_TO_NULL&autoReconnect=trueusername: 用户名password: 密码driver-class-name: com.mysql.cj.jdbc.DriverDB2:url: jdbc:mysql://127.0.0.1:3306/数据库?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai&zeroDateTimeBehavior=CONVERT_TO_NULL&autoReconnect=trueusername: 用户名password: 密码driver-class-name: com.mysql.cj.jdbc.Drivertype: com.zaxxer.hikari.HikariDataSourcehikari:# 最小空闲链接数minimumIdle: 5# 最大链接数maximumPoolSize: 50# 最大生命周期maxLifetime: 180000# 最长闲置时间idleTimeout: 60000# 等待连接池的最大毫秒数connectionTimeout: 20000# 是否自动提交auto-commit: true# 连接池名称pool-name: HikariCP# 用于测试连接是否可用的查询语句connection-test-query: SELECT 1
3:启动IDEA
自动就装配了主从
4:使用方法
在方法或者类上面使用“@DS”注解
第二种:
SpringBoot+Hikari多数据源配置_hikaridatasource-CSDN博客