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 共同探讨 +
++++++++++++++++++++++++++++++++++