Springboot + Mybatis 配置多数据源
大部分代码与整合mybatis一致,只需要修改一下几个地方
1、编写配置文件server:
port: 8888
spring:
application:
name: java-demo
datasource:
# 主库数据源
master:
driverClassName: com.mysql.jdbc.Driver
jdbcUrl: jdbc:mysql://127.0.0.1:3306/test_master?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&serverTimezone=GMT
username: root
password: root
slave:
enabled: true # 从数据源开关/默认关闭
driverClassName: com.mysql.jdbc.Driver
jdbcUrl: jdbc:mysql://127.0.0.1:3306/test_slave?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&serverTimezone=GMT
username: root
password: root
initialSize: 5
minIdle: 5
maxActive: 20
maxWait: 60000
timeBetweenEvictionRunsMillis: 60000
minEvictableIdleTimeMillis: 300000
validationQuery: select count(*) from dual
testWhileIdle: true
testOnBorrow: true
testOnReturn: false
poolPreparedStatements: true
maxPoolPreparedStatementPerConnectionSize: 20
filters: stat
connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000
timeBetweenLogStatsMillis: 0
mybatis-plus:
mapper-locations: classpath:/mapper?*Mapper.xml"));
sessionFactory.setConfiguration(globalMyBatisConfig());
return sessionFactory.getObject();
}
@Bean
@ConfigurationProperties(prefix = "mybatis-plus.configuration")
public MybatisConfiguration globalMyBatisConfig() {
return new MybatisConfiguration();
}
@Bean
public DataSourceTransactionManager transactionManager(@Qualifier("dynamicDataSource") DataSource dataSource) {
return new DataSourceTransactionManager(dataSource);
}
}



