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

什么?不知道 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.xdnf.cn/news/15166.html

相关文章:

  • 目标检测中的评价指标计算
  • 从零搭建多商户商城系统源码:技术栈、数据库设计与接口规划详解
  • 好用研发项目管理软件对比:8Manage PM与飞书功能深度测评
  • 【网络安全】利用 Cookie Sandwich 窃取 HttpOnly Cookie
  • Canvas 状态管理 语法糖 canvas.withSave() {}
  • Houdini 分布式解算效率瓶颈突破:渲染 101 云集群实战指南
  • 【网络】Linux 内核优化实战 - net.ipv4.tcp_keepalive_probes
  • Docker 镜像加速站汇总与使用指南
  • GitHub上优秀的开源播放器项目介绍及优劣对比
  • iOS APP混合开发性能测试怎么做?页面卡顿、通信异常的工具组合实战
  • Apache Shiro 框架详解
  • K线连续涨跌统计与分析工具
  • 3D Surface Reconstruction with Enhanced High-Frequency Details
  • 快速上手MongoDB与.NET/C#整合
  • 大模型在膀胱癌诊疗全流程预测及应用研究报告
  • 大数据的安全挑战与应对
  • 【AXI】读重排序深度
  • 在 Ubuntu 上安装和配置 Kafka
  • 【MSSQL】如何清理SQL SERVER内存解决内存占用高的问题
  • vivo Pulsar 万亿级消息处理实践(3)-KoP指标异常修复
  • Qt 信号槽的扩展知识
  • 新手向:实现ATM模拟系统
  • Java线程池原理概述
  • K线涨跌概率分析系统
  • 【双目深度估计】9种立体匹配算法整合包一键运行,支持相机标定、目标检测和tensorrt加速
  • 力扣61.旋转链表
  • 【WEB】Polar靶场 Day7 详细笔记
  • 北京-4年功能测试2年空窗-报培训班学测开-第四十六天
  • 高效集成-C#全能打印报表设计器诞生记
  • C++—拷贝构造函数