1. 修改配置文件

    将多个数据源依次添加到spring.datasource节点下

    1. spring:
    2. datasource:
    3. master:
    4. url: jdbc:mysql://localhost:3306/db_asuka?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=GMT%2B8
    5. username: root
    6. password: 1qaz2wsx
    7. driver-class-name: com.mysql.cj.jdbc.Driver
    8. slave:
    9. url: jdbc:mysql://localhost:3306/db_asuka_2?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=GMT%2B8
    10. username: root
    11. password: 1qaz2wsx
    12. driver-class-name: com.mysql.cj.jdbc.Driver
    1. 修改DataSourceConfig

    所在位置:**com.asuka.common.config.**``**DataSourceConfig**
    将多个数据源注册到Bean容器中

    1. @Configuration
    2. public class DataSourceConfig {
    3. @Bean
    4. public DataSource masterDataSource(Environment env) {
    5. HikariDataSource ds = new HikariDataSource();
    6. ds.setJdbcUrl(env.getProperty("spring.datasource.master.url"));
    7. ds.setUsername(env.getProperty("spring.datasource.master.username"));
    8. ds.setPassword(env.getProperty("spring.datasource.master.password"));
    9. ds.setDriverClassName(env.getProperty("spring.datasource.master.driver-class-name"));
    10. return ds;
    11. }
    12. @Bean
    13. public DataSource slaveDataSource(Environment env) {
    14. HikariDataSource ds = new HikariDataSource();
    15. ds.setJdbcUrl(env.getProperty("spring.datasource.slave.url"));
    16. ds.setUsername(env.getProperty("spring.datasource.slave.username"));
    17. ds.setPassword(env.getProperty("spring.datasource.slave.password"));
    18. ds.setDriverClassName(env.getProperty("spring.datasource.slave.driver-class-name"));
    19. return ds;
    20. }
    21. }

    **

    1. 定制SQLManager

    如果需要定制每一个SQLManager,需要提供BeetlSqlMutipleSourceCustomize

    1. @Bean
    2. public BeetlSqlMutipleSourceCustomize beetlSqlCustomize() {
    3. return new BeetlSqlMutipleSourceCustomize() {
    4. @Override
    5. public void customize(String dataSource,SQLManager sqlManager) {
    6. //可以在这里添加各种扩展,指定主从等
    7. }
    8. };
    9. }