- 修改配置文件
将多个数据源依次添加到spring.datasource节点下
spring:datasource:master:url: jdbc:mysql://localhost:3306/db_asuka?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=GMT%2B8username: rootpassword: 1qaz2wsxdriver-class-name: com.mysql.cj.jdbc.Driverslave:url: jdbc:mysql://localhost:3306/db_asuka_2?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=GMT%2B8username: rootpassword: 1qaz2wsxdriver-class-name: com.mysql.cj.jdbc.Driver
- 修改DataSourceConfig
所在位置:**com.asuka.common.config.**``**DataSourceConfig**
将多个数据源注册到Bean容器中
@Configurationpublic class DataSourceConfig {@Beanpublic DataSource masterDataSource(Environment env) {HikariDataSource ds = new HikariDataSource();ds.setJdbcUrl(env.getProperty("spring.datasource.master.url"));ds.setUsername(env.getProperty("spring.datasource.master.username"));ds.setPassword(env.getProperty("spring.datasource.master.password"));ds.setDriverClassName(env.getProperty("spring.datasource.master.driver-class-name"));return ds;}@Beanpublic DataSource slaveDataSource(Environment env) {HikariDataSource ds = new HikariDataSource();ds.setJdbcUrl(env.getProperty("spring.datasource.slave.url"));ds.setUsername(env.getProperty("spring.datasource.slave.username"));ds.setPassword(env.getProperty("spring.datasource.slave.password"));ds.setDriverClassName(env.getProperty("spring.datasource.slave.driver-class-name"));return ds;}}
**
- 定制SQLManager
如果需要定制每一个SQLManager,需要提供BeetlSqlMutipleSourceCustomize
@Beanpublic BeetlSqlMutipleSourceCustomize beetlSqlCustomize() {return new BeetlSqlMutipleSourceCustomize() {@Overridepublic void customize(String dataSource,SQLManager sqlManager) {//可以在这里添加各种扩展,指定主从等}};}
