在实际项目中,尤其是复杂系统,往往需要连接多个数据源,实现多数据库读写,这时就需要配置多数据源连接,而Spring Boot整合MybatisPlus实现多数据源有两种方式:分包 和 AOP。习惯问题,这里讲的是分包方式实现,借用网上的一张图说明很清晰了:
本文在已经配置好mybatisPlus和druid的前提下增加为多数据源的,不清楚可以参考前面的文章
数据源配置
properties.xml中设置两个数据源,假设这里的数据库分别为mickey和tianji
spring.datasource.druid.mickey.jdbc-url=你的数据库地址
spring.datasource.druid.mickey.username=mickey
spring.datasource.druid.mickey.password=***
spring.datasource.druid.mickey.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.druid.mickey.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.druid.tianji.jdbc-url=你的数据库地址
spring.datasource.druid.tianji.username=tianji
spring.datasource.druid.tianji.password=***
spring.datasource.druid.tianji.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.druid.tianji.type=com.alibaba.druid.pool.DruidDataSource
创建配置文件
数据源1配置
数据源1为默认数据源,需要使用注解 @Primary
@Configuration
@MapperScan(basePackages = "com.demo.mapper.mickey", sqlSessionTemplateRef = "mickeySqlSessionTemplate")
public class MickeyDsConfig {
@Primary
@Bean(name = "mickey")
@ConfigurationProperties(prefix = "spring.datasource.druid.mickey")
public DataSource mickeyDataSource() {
return DataSourceBuilder.create().build();
}
@Primary
@Bean(name = "mickeySqlSessio