springboot动态切换mysql连接,连接不是写死的
时间: 2023-11-29 13:04:37 浏览: 71
在Spring Boot中动态切换MySQL连接可以通过使用多数据源实现。下面是一些基本步骤:
1. 在application.properties或application.yml文件中配置数据源信息。
```
# 默认数据源
spring.datasource.url=jdbc:mysql://localhost:3306/db1
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
# 数据源2
spring.datasource.db2.url=jdbc:mysql://localhost:3306/db2
spring.datasource.db2.username=root
spring.datasource.db2.password=123456
spring.datasource.db2.driver-class-name=com.mysql.jdbc.Driver
```
2. 创建多个数据源的配置类,并使用@Primary注解指定默认数据源。
```
@Configuration
public class DataSourceConfig {
@Bean(name = "db1")
@ConfigurationProperties(prefix = "spring.datasource")
@Primary
public DataSource primaryDataSource() {
return DataSourceBuilder.create().build();
}
@Bean(name = "db2")
@ConfigurationProperties(prefix = "spring.datasource.db2")
public DataSource secondaryDataSource() {
return DataSourceBuilder.create().build();
}
}
```
3. 在需要使用不同数据源的地方,使用@Qualifier注解指定使用哪个数据源。
```
@Service
public class UserService {
@Autowired
@Qualifier("db1")
private DataSource dataSource1;
@Autowired
@Qualifier("db2")
private DataSource dataSource2;
public List<User> getUsers1() {
// 使用dataSource1查询数据
...
}
public List<User> getUsers2() {
// 使用dataSource2查询数据
...
}
}
```
这样就可以在需要切换数据源的时候,通过修改@Qualifier注解的值来实现动态切换数据源。
阅读全文