java Spring boot 一个impl实现类中,调用两个数据源

首先,在application.yml文件中,定义不同的数据源,

    如:spring:
               datasource:
                   main: (第一个数据源)

                       type:url:password之类

                  dc(第二个数据源)

                       同样是type:url:password之类

然后编写一个数据库配置类

 @Configuration
 @EnableAutoConfiguration
 public class DataSourceConfig {
    
       @Bean
       @Primary
       @ConfigurationProperties(prefix = "spring.datasource.main")
       public DataSource primaryDataSource() {
            return DataSourceBuilder.create().type(com.alibaba.druid.pool.DruidDataSource.class).build();
       }

      @Bean(name = "dcDataSource")
      @ConfigurationProperties(prefix = "spring.datasource.dc")
       public DataSource secondDataSource() {
          return DataSourceBuilder.create().type(com.alibaba.druid.pool.DruidDataSource.class).build();
      }

    @Bean
    @Primary
    public JdbcTemplate primaryJdbcTemplate(DataSource dataSource) {
        return new JdbcTemplate(dataSource);
    }


    @Bean(name = "dcJdbcTemplate")
    public JdbcTemplate secondJdbcTemplate(@Qualifier("dcDataSource") DataSource dataSource) {
        return new JdbcTemplate(dataSource);
    }

}

配置好数据类之后

在service实现类中,将配置好的jdbc注入如:

    @Autowired
    private JdbcTemplate jdbcTemplate;
    
    @Autowired
    @Qualifier("dcJdbcTemplate")
    JdbcTemplate dcjdbcTemplate;

   下面就是引用:

   total1 = jdbcTemplate.queryForList

  total2 = dcjdbcTemplate.queryForList

以上就是主要的实现方法,具体的业务逻辑,根据自己开发的场景去定义


版权声明:本文为bird_tp原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。