mybatisplus 多数据源@DS没有用
时间: 2023-06-11 17:10:22 浏览: 212
如果使用Mybatis Plus的@DS注解切换数据源没有生效,可能有以下几个原因:
1. 没有添加Mybatis Plus的多数据源依赖。需要在pom.xml文件中添加如下依赖:
```xml
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>dynamic-datasource-spring-boot-starter</artifactId>
<version>2.5.1</version>
</dependency>
```
2. 没有在配置文件中配置数据源。可以在application.yml或者application.properties配置文件中添加多个数据源的配置,例如:
```yaml
spring:
datasource:
dynamic:
datasource:
master:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/db1?serverTimezone=UTC&useUnicode=true&characterEncoding=UTF-8
username: root
password: root
slave:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/db2?serverTimezone=UTC&useUnicode=true&characterEncoding=UTF-8
username: root
password: root
# 默认数据源
primary: master
```
3. 没有在Mapper接口方法上添加@DS注解。需要在Mapper接口方法上添加@DS注解,指定使用哪个数据源,例如:
```java
@DS("master")
List<User> selectMasterUsers();
@DS("slave")
List<User> selectSlaveUsers();
```
如果以上三个问题都排除了,但是@DS注解还是没有生效,可能是Mybatis Plus版本太低,需要升级到2.3.0以上版本。
阅读全文