轉載自清蒸菠菜的博客
引入maven包
核心依賴如下
<!--mybatis plus 多數據源擴展-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>dynamic-datasource-spring-boot-starter</artifactId>
<version>2.5.7</version>
</dependency>
<!--mysql 驅動-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>${mysql.version}</version>
<scope>runtime</scope>
</dependency>
<!--mybatis-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>${mybatis.plus.version}</version>
</dependency>
<!--druid 連接池-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>${druid.version}</version>
</dependency>
配置文件
核心配置文件如下
spring:
application:
name: xxx
profiles:
#引入mybatis配置文件
include: mybatis
datasource:
#連接池配置
druid:
stat-view-servlet:
enabled: true
loginUsername: admin
loginPassword: 123456
#mybatis plus 多數據源配置
dynamic:
#默認數據源
primary: db1
datasource:
db1:
password: ${password}
url: ${dburl}
driver-class-name: com.mysql.jdbc.Driver
username: ${username}
db2:
password: ${password}
url: ${dburl}
idle-timeout: 20000
driver-class-name: com.mysql.jdbc.Driver
username: ${username}
代碼
配置類
首先在Application類中移除druid的自動配置類
@SpringBootApplication(exclude = {DruidDataSourceAutoConfigure.class})
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
mapper
mapper文件照常配置即可
service
@Service
public class TestServiceImpl{
@Resource
TestInfoMapper infoMapper;
@Override
@DS("db2") //默認使用db1,配置使用db2
public TestInfo findOneCs() {
return infoMapper.findOneById(1);
}
}
以上就是多數據源的配置