我尝试设置多个数据源,但总是只能获取主数据源。主要来源:
@Configuration
@EnableJdbcRepositories("com.xxx.repository.abc")
public class AbcDataSourceConfig {
@Bean
@Primary
@ConfigurationProperties(prefix="spring.abc")
public DataSourceProperties abcDataSourceProperties() {
return new DataSourceProperties();
}
@Bean
@Primary
public DataSource abcDataSource(@Qualifier("abcDataSourceProperties") DataSourcePropertiesproperties) {
log.debug("abc properties : {}", properties.getDriverClassName());
return properties.initializeDataSourceBuilder().build();
}
@Bean
@Primary
public NamedParameterJdbcOperations abcJdbcOperations(@Qualifier("abcDataSource") DataSource abcDs) {
return new NamedParameterJdbcTemplate(abcDs);
}
}
资料来源2:
@Configuration
@EnableJdbcRepositories(jdbcOperationsRef = "cbaJdbcOperations", basePackages = "com.xxx.repository.cba")
public class CbaDataSourceConfig {
@Bean
@ConfigurationProperties(prefix="spring.cba")
public DataSourceProperties cbaDataSourceProperties() {
return new DataSourceProperties();
}
@Bean
public DataSource cbaDataSource(@Qualifier("cbaDataSourceProperties") DataSourceProperties properties) {
return properties.initializeDataSourceBuilder().build();
}
@Bean
public NamedParameterJdbcOperations cbaJdbcOperations(@Qualifier("cbaDataSource") DataSource cbaDs) {
return new NamedParameterJdbcTemplate(cbaDs);
}
}
当我尝试选择cba的数据时,它显示错误:“caused by:java.sql.sqlsyntaxerrorexception:table'.cba\u data'不存在”。
但是cba的数据在cba的数据源里。
如何正确设置?
暂无答案!
目前还没有任何答案,快来回答吧!