dynamic-datasource-spring-boot-starter 切换数据源
时间: 2023-08-24 21:06:06 浏览: 192
dynamic-datasource-spring-boot-starter 是一个 Spring Boot Starter,用于在多数据源场景下动态切换数据源。它的实现原理是通过 AOP 拦截对数据源的访问,并根据当前线程绑定的数据源上下文动态切换数据源。
使用 dynamic-datasource-spring-boot-starter 可以很方便地实现多数据源的切换。下面是一个简单的示例:
1. 添加 dynamic-datasource-spring-boot-starter 依赖:
```
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>dynamic-datasource-spring-boot-starter</artifactId>
<version>2.5.1</version>
</dependency>
```
2. 配置数据源信息:
```
spring.datasource.dynamic.primary.url=jdbc:mysql://localhost:3306/test1
spring.datasource.dynamic.primary.username=root
spring.datasource.dynamic.primary.password=123456
spring.datasource.dynamic.secondary.url=jdbc:mysql://localhost:3306/test2
spring.datasource.dynamic.secondary.username=root
spring.datasource.dynamic.secondary.password=123456
```
3. 在需要切换数据源的方法上添加 @DS 注解:
```
@DS("secondary")
public void doSomething() {
// ...
}
```
这样,在执行 doSomething 方法时,就会动态切换到 secondary 数据源。
除了方法级别的 @DS 注解外,还可以在类级别上添加 @DS 注解,这样类中的所有方法都会使用同一个数据源。另外,dynamic-datasource-spring-boot-starter 还支持多数据源的负载均衡和主从复制等特性。
阅读全文