具有运行Spring MVC的应用程序。
我需要它来访问我的应用程序中的2个不同的数据库(两个Sql服务器)。
我该如何配置?
答案 0 :(得分:0)
您可以使用EntityManager访问第一个数据库,并使用JdbcTemplate访问第二个数据库
1.application.properties
#SQL Server 1
spring.datasource.url = [url]
spring.datasource.username = [username]
spring.datasource.password = [password]
spring.datasource.driverClassName = [sql Server Driver class name]
#SQl Server 2
spring.secondaryDatasource.url = [url]
spring.secondaryDatasource.username = [username]
spring.secondaryDatasource.password = [password]
spring.secondaryDatasource.driverClassName = [sql Server Driver class name]
2。创建@Configuration类并声明两个数据源bean。创建一个Jbc模板以用于访问sql server 2
@Bean
@Primary
@ConfigurationProperties(prefix="spring.datasource")
public DataSource primaryDataSource() {
return DataSourceBuilder.create().build();
}
@Bean
@ConfigurationProperties(prefix="spring.secondaryDatasource")
public DataSource secondaryDataSource() {
return DataSourceBuilder.create().build();
}
@Bean
public JdbcTemplate jdbcTemplate() {
return new JdbcTemplate(secondaryDataSource());
}
用法示例
@Repository
public class CustomerRepositoryImpl implements CustomerRepository {
private final JdbcTemplate jdbcTemplate;
public CustomerRepositoryImpl(JdbcTemplate jdbcTemplate) {
this.jdbcTemplate = jdbcTemplate;
}
}
和此站点 https://www.baeldung.com/spring-data-jpa-multiple-databases