springboot MyBatis 怎么动态断开一个连接,并连接一个新的mysql呢
时间: 2024-02-05 15:11:07 浏览: 66
在 Spring Boot 中,可以通过配置多个数据源实现动态断开一个连接并连接一个新的 MySQL。以下是具体步骤:
1. 配置多个数据源
在 application.properties 或 application.yml 中配置多个数据源,例如:
```
spring.datasource.primary.url=jdbc:mysql://localhost:3306/db1
spring.datasource.primary.username=root
spring.datasource.primary.password=root
spring.datasource.secondary.url=jdbc:mysql://localhost:3306/db2
spring.datasource.secondary.username=root
spring.datasource.secondary.password=root
```
2. 创建多个 DataSource Bean
在 Spring Boot 中,可以通过注解 @Configuration 和 @Bean 创建多个 DataSource Bean,例如:
```
@Configuration
public class DataSourceConfig {
@Primary
@Bean(name = "primaryDataSource")
@ConfigurationProperties(prefix = "spring.datasource.primary")
public DataSource primaryDataSource() {
return DataSourceBuilder.create().build();
}
@Bean(name = "secondaryDataSource")
@ConfigurationProperties(prefix = "spring.datasource.secondary")
public DataSource secondaryDataSource() {
return DataSourceBuilder.create().build();
}
}
```
这样就创建了两个 DataSource Bean,分别对应 application.properties 或 application.yml 中配置的 primary 和 secondary 数据源。
3. 使用 @Qualifier 注解指定要使用的数据源
在需要使用数据源的地方,可以通过 @Qualifier 注解指定要使用的数据源,例如:
```
@Service
public class UserService {
@Autowired
@Qualifier("primaryDataSource")
private DataSource primaryDataSource;
@Autowired
@Qualifier("secondaryDataSource")
private DataSource secondaryDataSource;
public void switchDataSource() {
// 断开 primaryDataSource 连接
// 连接 secondaryDataSource
}
}
```
这样就可以根据需要,动态断开一个连接并连接一个新的 MySQL 数据库了。
阅读全文