如何通过spring data JDBC设置多数据源? MySQL

问题描述

我尝试设置多个数据源,但总是只能获取主数据源。 来源主要:

    @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 'abc.cba_data' does not exist”。

但是 cba_data 在 cba 数据源中。

如何设置正确?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)