在Spring中,可以使用多個數據源來連接多個數據庫。下面是一些步驟:
在application.properties
或application.yml
文件中配置多個數據源的連接信息。例如,可以為每個數據源定義不同的datasource.url
、datasource.username
和datasource.password
等屬性。
創建多個數據源的配置類。可以創建多個DataSource
的bean,每個bean對應一個數據源。可以使用@Configuration
注解來標記該類。
@Configuration
public class DataSourceConfig {
@Bean
@ConfigurationProperties(prefix = "datasource1")
public DataSource dataSource1() {
return DataSourceBuilder.create().build();
}
@Bean
@ConfigurationProperties(prefix = "datasource2")
public DataSource dataSource2() {
return DataSourceBuilder.create().build();
}
}
注意:@ConfigurationProperties
注解可以從application.properties
或application.yml
文件中讀取以prefix
開頭的屬性值,并自動裝配到對應的bean中。
@Mapper
注解的接口中使用@Qualifier
注解指定使用哪個數據源。例如:@Mapper
public interface UserMapper {
@Qualifier("dataSource1")
@Select("SELECT * FROM user")
List<User> getUsersFromDataSource1();
@Qualifier("dataSource2")
@Select("SELECT * FROM user")
List<User> getUsersFromDataSource2();
}
@Service
注解的服務類中注入UserMapper
接口,并調用相應的方法即可。@Service
public class UserService {
@Autowired
private UserMapper userMapper;
public List<User> getUsersFromDataSource1() {
return userMapper.getUsersFromDataSource1();
}
public List<User> getUsersFromDataSource2() {
return userMapper.getUsersFromDataSource2();
}
}
這樣,就可以通過不同的數據源連接和操作多個數據庫了。