说明:之前写的这篇springboot+aop+自定义注解,实现多数据源切换(通用版)经过测试有些发现事务无法管理,有时候切换数据源容易失败,现在用一种更靠谱的方式来实现多数据源切换。
一.引入相应的maven依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.0.5</version>
</dependency>
二.配置数据源
- 这里application.properties配置了三个数据源
spring.datasource.user.url = jdbc:mysql://10.237.150.79:3306/user?useUnicode=true&characterEncoding=utf-8&serverTimezone=UTC&useSSL=false
spring.datasource.user.username = root
spring.datasource.user.password = root
spring.datasource.user.driver-class-name = com.mysql.jdbc.Driver
spring.datasource.user.type = com.alibaba.druid.pool.DruidDataSource
spring.datasource.user.filters = stat
spring.datasource.user.maxActive = 100
spring.datasource.user.initialSize = 10
spring.datasource.user.maxWait = 60000