前言
简单的配置多数据源demo,只是简单使用,不涉及架构,可做读写分离
引入依赖
//mybatis-plus
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.2.0</version>
</dependency>
//多数据源
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>dynamic-datasource-spring-boot-starter</artifactId>
<version>3.0.0</version>
</dependency>
yml文件
spring:
datasource:
dynamic:
primary: master #指定默认数据源
datasource:
master: #数据源1
username: root
password: 123456
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql:///mybatis-plus1?serverTimezone=UTC&characterEncoding=UTF-8
type: com.alibaba.druid.pool.DruidDataSource
datasource2: #数据源2
username: root
password: 123456
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql:///mybatis-plus?serverTimezone=UTC&characterEncoding=UTF-8
type: com.alibaba.druid.pool.DruidDataSource
如何使用
@DS()
在service层使用这个注解就可以指定你要使用的数据源,这个注解可以作用在类上,也可以作用在方法上,如果同时使用,方法优先
例:
//dao层
public interface UserDao extends BaseMapper<User> {}
//service层
@Service
@DS("master")
public class UserService {
@Autowired
private UserDao dao;
@DS("datasource2")
public List<User> findUser(){
return this.dao.selectList(null);
}
}