史上最简单的多数据源(通过分包)
注意目录对应:
/**
* @author beidouxing
* @create 2020/05/19 13:30
*/
@Configuration
@MapperScan(basePackages = DataSourceBigcustomerConfig.PACKAGE,sqlSessionTemplateRef = "bigcustomerSqlSessionTemplate")
public class DataSourceBigcustomerConfig {
/**
* 对应的bigcustomer 的dao包
*/
static final String PACKAGE = "org.springblade.mapper.mysql.bigcustomer";
/**
* 对应的bigcustomer 的mapper.xml文件
*/
static final String MAPPER_LOCATION = "classpath:mybatis/mysql/bigcustomer/*.xml";
@Value("${spring.datasource.bigcustomer.url}")
private String url;
@Value("${spring.datasource.bigcustomer.username}")
private String user;
@Value("${spring.datasource.bigcustomer.password}")
private String password;
@Value("${spring.datasource.bigcustomer.driver-class-name}")
private String driverClass;
/**
* 配置bigcustomer数据源
*/
@Bean("bigcustomerDataSource")
public DataSource bigcustomerDataSource(){
HikariDataSource dataSource = new HikariDataSource();
dataSource.setJdbcUrl(url);
dataSource.setUsername(user);
dataSource.setPassword(password);
dataSource.setDriverClassName(driverClass);
return dataSource;
}
@Bean("bigcustomerSqlSessionFactory")
public SqlSessionFactory bigcustomerSqlSessionFactory(@Qualifier("bigcustomerDataSource")DataSource dataSource) throws Exception {
SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();
sqlSessionFactoryBean.setDataSource(dataSource);
sqlSessionFactoryBean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources(DataSourceBigcustomerConfig.MAPPER_LOCATION));
return sqlSessionFactoryBean.getObject();
}
/**
* 事务管理器
* @param dataSource
* @return
*/
@Bean("bigcustomerTransactionManager")
public DataSourceTransactionManager bigcustomerTransactionManager(@Qualifier("bigcustomerDataSource")DataSource dataSource){
return new DataSourceTransactionManager(dataSource);
}
@Bean("bigcustomerSqlSessionTemplate")
public SqlSessionTemplate bigcustomerSqlSessionTemplate(@Qualifier("bigcustomerSqlSessionFactory") SqlSessionFactory sqlSessionFactory){
return new SqlSessionTemplate(sqlSessionFactory);
}
}
你说这样写它能不香么
然后就是将对应的mapper文件放到对应的路径下,将对应的mapper.xml放到对应的路径下,就ok了
切记:
这个可是要在springboot2.0版本以上才行哦!!!!!
想配几个数据源就照这模样再来几个