MyBatis-Plus 使用多数据源实现读写分离

MyBatis-Plus About 1,101 words

添加依赖

添加多数据源依赖

<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>dynamic-datasource-spring-boot3-starter</artifactId>
    <version>4.3.1</version>
</dependency>

配置

spring:
  datasource:
    dynamic:
      primary: master
      datasource:
        master:
          url: jdbc:postgresql://192.168.0.1:5432/my_db
          driver-class-name: org.postgresql.Driver
          username: postgres
          password: 123456
        slave:
          url: jdbc:postgresql://192.168.0.2:5432/my_db
          driver-class-name: org.postgresql.Driver
          username: postgres
          password: 123456

使用

使用@Slave注解表示连接到从库,使用@Master注解表示连接到主库(默认不加注解,则根绝配置中的spring.datasource.dynamic.primary来判断数据源)。

注解不仅可以加在Controller,也可以加在ServiceMapper中。

import com.baomidou.dynamic.datasource.annotation.Slave;
import com.baomidou.dynamic.datasource.annotation.Master;

@Slf4j
@RestController
public class MyController {

    @Slave
    @GetMapping("/api/list")
    public List<?> list() {
        return List.of();
    }


    @Master
    @PostMapping("/api/xxx")
    public void xxx() {
        
    }

}
Views: 130 · Posted: 2024-10-29

————        END        ————

Give me a Star, Thanks:)

https://github.com/fendoudebb/LiteNote

扫描下方二维码关注公众号和小程序↓↓↓

扫描下方二维码关注公众号和小程序↓↓↓


Today On History
Browsing Refresh