三步搞定多数据源配置

1 修改 application.yaml 文件

spring:
  datasource:
    scm:
      driver-class-name: com.mysql.jdbc.Driver
      jdbc-url: 
      username: 
      password: 
    sentry:
      driver-class-name: com.mysql.jdbc.Driver
      jdbc-url: 
      username: 
      password: 

注意:

1.scm和sentry为自己定义的名字,这里定义的名字会在后面的配置文件中用到

2.注意 jdbc-url 而不是 url

3.特别注意格式缩进

2.dao和mapper文件夹下分别创建两个新文件夹

注意:之后不同数据源dao层和xml文件分别放在对应的文件下

3.在config包下分别添加两个数据源的配置文件

@Configuration
@MapperScan(basePackages = "com.fan.bigdata.dao.scm", sqlSessionTemplateRef = "scmSqlSessionTemplate")
public class ScmSourceConfig {
    @Bean(name = "scm")
    @ConfigurationProperties(prefix = "spring.datasource.scm")
    @Primary
    public DataSource testDataSource() {
        return DataSourceBuilder.create().build();
    }

    @Bean(name = "scmSqlSessionFactory")
    @Primary
    public SqlSessionFactory testSqlSessionFactory(@Qualifier("scm") DataSource dataSource) throws Exception {
        SqlSessionFactoryBean bean = new SqlSessionFactoryBean();
        bean.setDataSource(dataSource);
        bean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath:/mapper/scm/*.xml"));
        return bean.getObject();
    }

    @Bean(name = "scmTransactionManager")
    @Primary
    public DataSourceTransactionManager testTransactionManager(@Qualifier("scm") DataSource dataSource) {
        return new DataSourceTransactionManager(dataSource);
    }

    @Bean(name = "scmSqlSessionTemplate")
    @Primary
    public SqlSessionTemplate testSqlSessionTemplate(@Qualifier("scmSqlSessionFactory") SqlSessionFactory sqlSessionFactory) throws Exception {
        return new SqlSessionTemplate(sqlSessionFactory);
    }
}

注意:

1.第2行 basePackages的值 替换成自己对应的 dao 路径,第16行替换成自己对应的 mapper 路径

2.凡是 scm 的地方都替换为自己的名字

3.SentrySourceConfig 文件和 ScmSourceConfig 文件基本一样,将对应的scm替换成sentry,另外,我这个scm为主库,所以有@primary注解,其他的库把@primary去掉即可

++++++++++++++++++++++++++++++++++
+         如有问题可+Q:1602701980 共同探讨           +
++++++++++++++++++++++++++++++++++

猜你喜欢

转载自blog.csdn.net/shenyuye/article/details/107818789
今日推荐