dynamic-datasource-spring-boot-starter
是一个用于 Spring Boot 项目的数据源动态切换库,可以在运行时动态切换数据源,非常适合多数据源场景。
以下是使用 dynamic-datasource-spring-boot-starter
的基本步骤:
- 在
pom.xml
中引入依赖:
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>dynamic-datasource-spring-boot-starter</artifactId>
<version>3.4.2</version> <!-- 版本号可能会有更新 -->
</dependency>
- 配置数据源:
在 application.properties
或 application.yml
文件中配置数据源信息,如下:
spring:
datasource:
dynamic:
primary: # 主数据源配置
url: jdbc:mysql://localhost:3306/primary
username: root
password: root
driver-class-name: com.mysql.cj.jdbc.Driver
secondary: # 第二个数据源配置
url: jdbc:mysql://localhost:3306/secondary
username: root
password: root
driver-class-name: com.mysql.cj.jdbc.Driver
- 使用
@DS
注解:
在你的代码中使用 @DS
注解来标记需要使用特定数据源的方法或类。
import com.baomidou.dynamic.datasource.annotation.DS;
import org.springframework.stereotype.Service;
@Service
public class UserService {
@DS("primary") // 指定使用主数据源
public User getUserById(Long id) {
// 从主数据源查询用户信息
// ...
}
@DS("secondary") // 指定使用第二个数据源
public List<User> getAllUsers() {
// 从第二个数据源查询用户信息
// ...
}
}
- 在配置类中启用动态数据源:
import com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration;
import org.springframework.context.annotation.Import;
@Import(DynamicDataSourceAutoConfiguration.class)
public class DynamicDataSourceConfig {
}
- 启动应用程序:
运行你的 Spring Boot 应用程序。
现在,你的应用程序应该能够在运行时动态地切换数据源了。@DS
注解用于指定方法或类所使用的数据源,同时,在配置文件中配置了两个数据源,可以通过指定数据源名称来实现切换。