引入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);
}
}
以上就是多数据源的配置
网友评论