spring项目 使用dynamic-datasource
时间: 2024-01-27 20:04:32 浏览: 144
动态数据源实现spring
Dynamic-Datasource是一个基于SpringBoot的多数据源组件,支持多种场景,包括纯粹多库、读写分离、一主多从、混合模式等。下面是使用Dynamic-Datasource的步骤:
1.在pom.xml文件中添加Dynamic-Datasource的依赖:
```xml
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>dynamic-datasource-spring-boot-starter</artifactId>
<version>3.4.1</version>
</dependency>
```
2.在application.yml文件中配置数据源信息,例如:
```yaml
spring:
datasource:
dynamic:
primary: master
datasource:
master:
url: jdbc:mysql://localhost:3306/master?useUnicode=true&characterEncoding=utf-8&useSSL=false
username: root
password: root
driver-class-name: com.mysql.jdbc.Driver
slave1:
url: jdbc:mysql://localhost:3306/slave1?useUnicode=true&characterEncoding=utf-8&useSSL=false
username: root
password: root
driver-class-name: com.mysql.jdbc.Driver
slave2:
url: jdbc:mysql://localhost:3306/slave2?useUnicode=true&characterEncoding=utf-8&useSSL=false
username: root
password: root
driver-class-name: com.mysql.jdbc.Driver
```
3.在需要使用数据源的地方使用@DS注解指定数据源,例如:
```java
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper;
@DS("master")
@Override
public User getUserById(Long id) {
return userMapper.selectById(id);
}
@DS("slave1")
@Override
public List<User> getUserList() {
return userMapper.selectList(null);
}
}
```
上述代码中,@DS注解用于指定数据源,可以在方法级别或类级别使用。
阅读全文