HikariCP 多数据源配置 (手动)
1、maven依赖
<dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>1.3.2</version></dependency>
2、资源配置文件 application.properties
这里只贴出两个
server.port=8123# 测试库 test1spring.datasource.hikari.test1.jdbc-url=jdbc:mysql://47.98.253.2:3306/test1?useUnicode=true&characterEncoding=utf8&useSSL=true&serverTimezone=GMT%2B8spring.datasource.hikari.test1.username=rootspring.datasource.hikari.test1.password=Tlz19970905spring.datasource.hikari.test1.driver-class-name=com.mysql.cj.jdbc.Driver# 测试库 test2spring.datasource.hikari.test2.jdbc-url=jdbc:mysql://47.98.253.2:3306/test2?useUnicode=true&characterEncoding=utf8&useSSL=true&serverTimezone=GMT%2B8spring.datasource.hikari.test2.username=rootspring.datasource.hikari.test2.password=Tlz19970905spring.datasource.hikari.test2.driver-class-name=com.mysql.cj.jdbc.Driver
3、配置文件
这里只贴出一个 Test1DbSourceConfig,Test1DbSourceConfig2 同理
@Configuration/*** basePackages : 指定 接口使用的数据源*/@MapperScan(basePackages = "com.aaa.dynamic_data_mybatis.dao.test1", sqlSessionTemplateRef = "test1SqlSessionTemplate")public class Test1DbSourceConfig {@Bean(name = "test1DataSource")@ConfigurationProperties(prefix = "spring.datasource.hikari.test1")public DataSource testDataSource() {return DataSourceBuilder.create().build();}@Bean(name = "test1SqlSessionFactory")public SqlSessionFactory testSqlSessionFactory(@Qualifier("test1DataSource") DataSource dataSource) throws Exception {SqlSessionFactoryBean bean = new SqlSessionFactoryBean();bean.setDataSource(dataSource);//如果不想用 xml 这里可以注释掉bean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath:mapper/test1/*.xml"));return bean.getObject();}@Bean(name = "test1TransactionManager")public DataSourceTransactionManager testTransactionManager(@Qualifier("test1DataSource") DataSource dataSource) {return new DataSourceTransactionManager(dataSource);}@Bean(name = "test1SqlSessionTemplate")public SqlSessionTemplate testSqlSessionTemplate(@Qualifier("test1SqlSessionFactory") SqlSessionFactory sqlSessionFactory) throws Exception {return new SqlSessionTemplate(sqlSessionFactory);}}
