当前位置: 首页 > 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.dtcms.com/a/273323.html

相关文章:

  • AI探索 | 豆包智能助手跟扣子空间(AI办公助手)有什么区别
  • Ranger框架的发展历程
  • Windows系统DLL、运行库、DirectX等DLL丢失等异常状态
  • 数组的应用示例
  • 【Python进阶篇 面向对象程序设计(7) Python操作数据库】
  • 《测试开发:从技术角度提升测试效率与质量》
  • 《Revisiting Generative Replay for Class Incremental Object Detection》阅读笔记
  • 3D lidar目标跟踪
  • PyTorch自动微分:从基础到实战
  • Linux C 文件基本操作
  • 【Java并发编程】AQS(AbstractQueuedSynchronizer)抽象同步器核心原理
  • 飞算科技:以原创技术赋能电商企业数字化转型
  • AI翻唱——So-VITS-SVC
  • ubuntu virtual box全屏
  • 无人机三叶螺旋桨概述
  • kail相关
  • Linux下PCIe子系统(二)——PCIe子系统框架详解
  • 算法练习5-原地移除数组中所有的元素
  • 多元函数的链式法则:从单变量到高维的推广
  • 无人设备遥控器之无线电频率篇
  • Java HashMap已存在的值是否覆盖
  • 全链智造铸丰碑 全球布局启新程 —— 河北华创测控技术有限公司领航测控产业新高度
  • python学习打卡:DAY 29 复习日:类的装饰器
  • 快捷键——VsCode
  • msf复现“永恒之蓝”
  • 在 node 端执行打开一个新的 chrome 并且跳转到指定 url
  • 力扣热门算法题 136.只出现一次的数字,139.单词拆分,141.环形链表
  • Docker——容器文件操作
  • 实习第一个小需求样式问题总结
  • 八猴渲染器三维场景实时预览软件 Marmoset Toolbag 5.02b1 Win