当前位置: 首页 > news >正文

什么?不知道 MyBatisPlus 多数据源(动态数据源)干什么的,怎么使用,看这篇文章就够了。

13.12 多数据源

随着项目规模的扩大,单一数据源已无法满足复杂业务需求,多数据源(动态数据源)应运而生。本文将介绍两种 MyBatis-Plus 的多数据源扩展插件:开源生态的 dynamic-datasource 和 企业级生态的 mybatis-mate。这里介绍开源生态的 dynamic-datasource ,我这里是 SpringBoot3,SpringBoot2的导入依赖有所差异,具体参照 – 官网

13.12.1 使用步骤

13.12.1.1 导入依赖

SpringBoot2 导入的依赖和这个不一样,具体参照官网

<!--   导入动态数据源依赖     -->
<dependency><groupId>com.baomidou</groupId><artifactId>dynamic-datasource-spring-boot3-starter</artifactId><version>4.3.1</version>
</dependency>
13.12.1.2 配置动态数据源
spring:datasource:dynamic:# 设置默认数据源, 当没有指定数据源时/或者指定数据源不存在,都会默认使用该数据primary: master # 是否严格匹配数据源,当指定数据源不存在时,是直接报错还是采用默认的数据源strict: false datasource:  # 多数据配置master:  #主数据源名称url: jdbc:mysql://localhost:3306/db2username: rootpassword: 123456
#         driver-class-name: com.mysql.cj.jdbc.Driver 可以省略不写slave: #从数据源名称url: jdbc:mysql://localhost:3306/db1username: rootpassword: 123456
#        driver-class-name: com.mysql.cj.jdbc.Driver 可以省略不写
13.12.1.3 @DS 切换数据源

这个注解不仅可以作用到类上,同样可以作用到方法上,根据 “就近原则” 当两个同时存在时,方法上的优先

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

13.12.1.4 测试代码演示
@SpringBootTest
class WorkDay07Task01ApplicationTests {//只要在两个Service上配置的数据源不同,两个访问的是不同的数据库@Autowiredprivate UserServiceImpl service;@Autowiredprivate AccountServiceImpl accountService;@Testvoid test01() {QueryWrapper<User> wrapper = new QueryWrapper<>();wrapper.eq("id", 1214840833);service.getOne(wrapper);}@Testvoid test02() {QueryWrapper<Account> wrapper = new QueryWrapper<>();wrapper.eq("id", 1);accountService.getOne(wrapper);}
}

http://www.lryc.cn/news/584645.html

相关文章:

  • Windows安装DevEco Studio
  • 深入理解oracle ADG和RAC
  • 高并发导致重复key问题--org.springframework.dao.DuplicateKeyException
  • 企业电商平台搭建:ZKmall开源商城服务器部署与容灾方案
  • Java中实现线程安全的几种方式
  • 华为OD 周末爬山
  • 模块三:现代C++工程实践(4篇)第二篇《性能调优:Profile驱动优化与汇编级分析》
  • 关于k8s Kubernetes的10个面试题
  • 【牛客刷题】跳台阶(三种解法深度分析)
  • Java 21 核心技术:虚拟线程与结构化并发实战
  • Django专家成长路线知识点——AI教你学Django
  • Spring Boot + Javacv-platform:解锁音视频处理的多元场景
  • 处理Web请求路径参数
  • 小程序开发平台,自主开发小程序源码系统,多端适配,带完整的部署教程
  • GitHub上优秀的开源播放器项目介绍及优劣对比
  • PPT 倒计时工具:把控节奏,掌握时间,超简单超实用让演示游刃有余
  • 电脑息屏工具,一键黑屏超方便
  • C语言——预处理详解
  • ADVANTEST R4131 SPECTRUM ANALYZER 光谱分析仪
  • arm架构,arm内核,处理器之间的关系
  • 【JVM|垃圾回收】第二天
  • AI时代的接口调试与文档生成:Apipost 与 Apifox 的表现对比
  • 发现和发明浅谈
  • IDEA运行Spring项目报错:java: 警告: 源发行版 17 需要目标发行版 17,java: 无效的目标发行版: 17
  • 零基础入门物联网-远程门禁开关:云平台创建
  • 【洛谷题单】--顺序结构(二)
  • 上位机与Modbus的32位数据交互
  • 从Debug中学习MiniGPT4
  • 书生大模型实战营——1. 大语言模型原理与书生大模型提示词工程实践
  • 列表页与详情页的智能识别:多维度判定方法与工业级实现