手把手教你SpringBoot + MyBatis如何通过多数据源动态配置实现一个应用连接多个MySQL库
1.apollo配置
spring.datasource.dynamic.datasource.dataCenter.url = jdbc:mysql://${ip}:3306/${数据库名}?autoReconnect=true&useUnicode=true&characterEncoding=UTF8&mysqlEncoding=utf8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true
spring.datasource.dynamic.datasource.dataCenter.username = ${数据库用户名}
spring.datasource.dynamic.datasource.dataCenter.password = ${数据库密码}
spring.datasource.dynamic.datasource.dataCenter.driver-class-name = com.mysql.jdbc.Driver
spring.datasource.dynamic.datasource.accessControl.url = jdbc:mysql://${ip}:3306/${数据库名}?useUnicode=true&characterEncoding=utf-8&autoReconnect=true
spring.datasource.dynamic.datasource.accessControl.username = ${数据库用户名}
spring.datasource.dynamic.datasource.accessControl.password = ${数据库密码}
spring.datasource.dynamic.datasource.accessControl.driver-class-name = com.mysql.jdbc.Driver
#设置默认数据源
spring.datasource.dynamic.primary = dataCenter
spring.datasource.dynamic.strict = true
spring.main.allow-bean-definition-overriding = true
注意点:
MySQL版本不同,driver路径不同。5.X版如上文配置,6.X版本:spring.datasource.dynamic.datasource.accessControl.driver-class-name = com.mysql.cj.jdbc.Driver
查看MySQL数据库版本:
select version();
2.Maven依赖:加在mapper/entity所在模块下
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>dynamic-datasource-spring-boot-starter</artifactId>
<version>3.2.1</version>
</dependency>