如何通过spring数据jdbc设置多数据源?mysql数据库

pbgvytdp  于 2021-07-13  发布在  Java
关注(0)|答案(0)|浏览(229)

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

@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的数据源里。
如何正确设置?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题