我想在我的spring boot应用程序中连接多个mysql db。事情是在我的应用程序中,其中一个数据库用作实体,而其他数据库则以查询形式获取数据。因此,我希望每当我编写一个自定义查询时,它都应从一个数据库中获取,而每当我使用存储库方法时,都应使用另一个数据库。
答案 0 :(得分:2)
将application.properties文件更改为:
#first db
spring.datasource.url = [url]
spring.datasource.username = [username]
spring.datasource.password = [password]
spring.datasource.driverClassName = oracle.jdbc.OracleDriver
#second db ...
spring.secondDatasource.url = [url]
spring.secondDatasource.username = [username]
spring.secondDatasource.password = [password]
spring.secondDatasource.driverClassName = oracle.jdbc.OracleDriver
并更改您的配置文件,即添加以下bean:
@Bean
@Primary
@ConfigurationProperties(prefix="spring.datasource")
public DataSource primaryDataSource() {
return DataSourceBuilder.create().build();
}
@Bean
@ConfigurationProperties(prefix="spring.secondDatasource")
public DataSource secondaryDataSource() {
return DataSourceBuilder.create().build();
}