【发布时间】:2019-07-07 04:33:58
【问题描述】:
我想在我的 Spring Boot 应用程序中连接多个 mysql 数据库。事情在我的应用程序中,其中一个数据库用作实体,而从其他数据库中,我正在以查询形式获取数据。所以我希望每当我编写一个自定义查询时,它应该从一个数据库中获取,而每当我使用存储库方法时,它应该使用另一个数据库。
【问题讨论】:
标签: java mysql spring spring-boot spring-mvc
我想在我的 Spring Boot 应用程序中连接多个 mysql 数据库。事情在我的应用程序中,其中一个数据库用作实体,而从其他数据库中,我正在以查询形式获取数据。所以我希望每当我编写一个自定义查询时,它应该从一个数据库中获取,而每当我使用存储库方法时,它应该使用另一个数据库。
【问题讨论】:
标签: java mysql spring spring-boot spring-mvc
将您的 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();
}
【讨论】: