在Spring Boot中配置多數據源可以通過創建多個DataSource bean,并使用@Primary和@Qualifier注解來指定默認數據源和其他數據源,然后在Repository類中使用@Qualifier注解來指定要使用的數據源。
以下是一個示例配置多數據源的步驟:
# 數據源1
spring.datasource.url1=jdbc:mysql://localhost:3306/db1
spring.datasource.username1=root
spring.datasource.password1=123456
# 數據源2
spring.datasource.url2=jdbc:mysql://localhost:3306/db2
spring.datasource.username2=root
spring.datasource.password2=123456
@Configuration
public class DataSource1Config {
@Bean
@ConfigurationProperties(prefix = "spring.datasource")
@Primary
public DataSource dataSource1() {
return DataSourceBuilder.create().build();
}
}
@Configuration
public class DataSource2Config {
@Bean
@ConfigurationProperties(prefix = "spring.datasource")
public DataSource dataSource2() {
return DataSourceBuilder.create().build();
}
}
@Repository
public class UserRepository {
@Autowired
@Qualifier("dataSource1")
private DataSource dataSource1;
@Autowired
@Qualifier("dataSource2")
private DataSource dataSource2;
// 使用dataSource1查詢用戶信息
}
@Repository
public class OrderRepository {
@Autowired
@Qualifier("dataSource2")
private DataSource dataSource2;
// 使用dataSource2查詢訂單信息
}
通過以上步驟,就可以在Spring Boot中配置多個數據源并在Repository類中使用不同的數據源進行操作。