MybatisPlus------多数据源环境(十一)

MybatisPlus------多数据源环境(十一)

生产环境中常常会存在多个数据源。
比如读写分离、一主多从、混合模式等等。
首先再pom文件中需要引入依赖:
多数据源所需要使用到的依赖

<!--        多数据源所需要使用到的依赖-->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>dynamic-datasource-spring-boot-starter</artifactId>
            <version>3.5.0</version>
        </dependency>

项目中已存在application.properties文件,现在新建application.yml文件,yml文件会覆盖properties文件,【此处涉及到SpringBoot的文件优先级以及文件加载顺序】
新建application.yml文件并配置如下信息:
此处配置了两个数据源,分别是master以及slave_1。

spring:
  # 配置数据源信息
  datasource:
    dynamic:
      # 设置默认的数据源或者数据源组,默认值为master
      primary: master
      # 严格匹配数据源,默认false,true未匹配到指定数据源时抛异常,false使用默认数据源
      strict: false
      datasource:
        master:
          url: jdbc:mysql://localhost:3306/test?serverTimezone=GMT%2B8&characterEncoding=utf-8&userSSL=false
          driver-class-name: com.mysql.cj.jdbc.Driver
          username: root
          password: 123456
        slave_1:
          url: jdbc:mysql://localhost:3306/demo?serverTimezone=GMT%2B8&characterEncoding=utf-8&userSSL=false
          driver-class-name: com.mysql.cj.jdbc.Driver
          username: root
          password: 123456

配置方面就是以上信息。
接下来是使用:

只需要在ServiceImpl上加入@DS注解即可,该注解需要传入指定数据源的名字。不传入值则默认主数据源
@DS注解可以加在方法上或者类上,同时存在就近原则,方法上注解 优先于 类上注解。加在类上,则该类上所有方法都会使用该数据源

@DS("master")
@Service
public class BaseProcedureServiceImpl extends ServiceImpl<BaseProcedureMapper,BaseProcedure> implements BaseProcedureService {

通用mapper中查询是以select开头,通用service查询使用get开头。
使用哪个就指定哪个数据源即可。

有问题欢迎私聊

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值