
文件放置的位置,对应的同一个数据库的dao要放在同一个包里
1.配置文件application.yml
spring:
datasource:
driverClassName: com.mysql.jdbc.Driver
test1:
#driver-class-name: com.mysql.jdbc.Driver
jdbc-url: jdbc:mysql://xxxx:3306/tqsq? serverTimezone=UTC&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useSSL=false&verifyServerCertificate=false&autoReconnct=true&autoReconnectForPools=true&allowMultiQueries=true
username:
password:
test2:
#driver-class-name: com.mysql.jdbc.Driver
jdbc-url: jdbc:mysql://xxxxx:3306/jiameng?serverTimezone=UTC&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useSSL=false&verifyServerCertificate=false&autoReconnct=true&autoReconnectForPools=true&allowMultiQueries=true
username:
password:
2.配置config—dataSource1文件
@Configuration
@MapperScan(basePackages = "com.zhy.dao.test1",sqlSessionFactoryRef = "db1SqlSessionFactory")
public class DataSource1Config {
/**
* 返回db1数据库的数据源
* @return
*/
@Bean(name = "db1DataSource")
@ConfigurationProperties(prefix = "spring.datasource.test1")
@Primary
public DataSource testDataSource(){
return DataSourceBuilder.create().build();
}
/**
* 创建sqlsessionfactory 工厂会话
* @param dataSource
* @return
*/
@Bean(name = "db1SqlSessionFactory")
@Primary
public SqlSessionFactoryBean testSqlSessionFactory(@Qualifier("db1DataSource") DataSource dataSource) throws Exception {
SqlSessionFactoryBean bean =new SqlSessionFactoryBean();
bean.setDataSource(dataSource);
// bean.setMapperLocations(new Resource[]{new PathMatchingResourcePatternResolver().getResource("classpath:com.zhy.dao.test1.*.xml")});//路径
Resource[] resources = new PathMatchingResourcePatternResolver()
.getResources("classpath*:com/zhy/dao/test1/*Mapper.xml");
bean.setMapperLocations(resources);
return bean;
}
/**
* 配置事务管理
* @param dataSource
* @return
*/
@Bean(name = "db1TransactionManager")
@Primary
public DataSourceTransactionManager testTransactionManager(@Qualifier("db1DataSource")DataSource dataSource){
return new DataSourceTransactionManager(dataSource);
}
/**
* 返回数据库会话模板
* @param sqlSessionFactory
* @return
*/
@Bean(name = "db1SqlSessionTemplate")
@Primary
public SqlSessionTemplate testSqlSessionTemplate(@Qualifier("db1SqlSessionFactory")SqlSessionFactory sqlSessionFactory){
return new SqlSessionTemplate(sqlSessionFactory);
}
}
3.配置config—dataSource2文件
@Configuration
@MapperScan(basePackages = "com.zhy.dao.test2",sqlSessionFactoryRef = "db2SqlSessionFactory")
public class DataSource2Config {
@Bean(name = "db2DataSource")
@ConfigurationProperties(prefix = "spring.datasource.test2")
public DataSource testDataSource(){
return DataSourceBuilder.create().build();
}
/**
* 创建sqlsessionfactory
* @param dataSource
* @return
*/
@Bean(name = "db2SqlSessionFactory")
public SqlSessionFactoryBean testSqlSessionFactory(@Qualifier("db2DataSource") DataSource dataSource) throws Exception {
SqlSessionFactoryBean bean =new SqlSessionFactoryBean();
bean.setDataSource(dataSource);
// bean.setMapperLocations(new Resource[]{new PathMatchingResourcePatternResolver().getResource("classpath:com.zhy.dao.test2.*.xml")});//路径
// return bean.getObject();
Resource[] resources = new PathMatchingResourcePatternResolver()
.getResources("classpath*:com/zhy/dao/test2/*Mapper.xml");
bean.setMapperLocations(resources);
return bean;
}
/**
* 配置事务管理
* @param dataSource
* @return
*/
@Bean(name = "db2TransactionManager")
public DataSourceTransactionManager testTransactionManager(@Qualifier("db2DataSource")DataSource dataSource){
return new DataSourceTransactionManager(dataSource);
}
@Bean(name = "db2SqlSessionTemplate")
public SqlSessionTemplate testSqlSessionTemplate(@Qualifier("db2SqlSessionFactory")SqlSessionFactory sqlSessionFactory){
return new SqlSessionTemplate(sqlSessionFactory);
}
}
10万+



被折叠的 条评论
为什么被折叠?



