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

MybatisPlus多数据源和MybatisX插件

目录

11 多数据源

11.1 介绍

11.2 代码实现

12 MyBatisX插件


11 多数据源

11.1 介绍

  1. 适用于多种场景:纯粹多库、读写分离、 一主多从、 混合模式等
  2. 下面会模拟一个纯粹多库的一个场景,其他场景类似
  3. 场景说明:
我们创建两个库,分别为: mybatis_plus(以前的库不动)与mybatis_plus_1 (新建),将
mybatis_plus库的product表移动到mybatis_plus_1库,这样每个库一张表,通过一个测试用例 分别获取用户数据与商品数据,如果获取到说明多库模拟成功

11.2 代码实现

  1. 创建数据库及表
创建数据库mybatis_plus_1和表tx_product。可以直接把以前的表移动到新的数据库,这个可以直接复制原来的表。
删除MyBatis_plus的tx_product表。这里使用该表名代替删除表。
  1. 导入依赖
<dependency> <groupId>com.baomidou</groupId> <artifactId>dynamic-datasource-spring-boot-starter</artifactId> <version>3.5.2</version> </dependency>
  1. 配置yml文件
需要注释掉之前的数据库连接,添加新配置
spring: # 配置数据源信息 datasource: dynamic: # 设置默认的数据源或者数据源组 ,默认值即为master primary: master # 严格匹配数据源 ,默认false.true未匹配到指定数据源时抛异常 ,false使用默认数据源 strict: false datasource: master: # 配置数据源类型 type: com.zaxxer.hikari.HikariDataSource # 配置连接数据库信息 driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:3306/mybatis_plus?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai username: root password: '036520' slave_1: # 配置数据源类型 type: com.zaxxer.hikari.HikariDataSource # 配置连接数据库信息 driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:3306/mybatis_plus_1?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai username: root password: '036520'
  1. 创建service
  1. 测试
@Test public void testDynamicDataSource(){ System.out.println(userService.getById(1L)); System.out.println(productService.getById(1L)); }

因为上面只配置了yml,没有配置注解指定数据源。所以走的就是yml里配置的默认数据源
  1. 添加注解
因为两个表分别在两个不同的数据库里,所以需要添加注解,指定不同的数据源。
如果是调用service层里的方法,那么在service和mapper中配置都一样,因为service层最终也是去掉mapper中的代码。
但是如果是直接调mapper中的代码,只能写在mapper中不然还是会报错,说找不到。
  1. 测试
再次执行上面的测试方法,此时查询成功。
注:如果想要实现读写分离,将写操作方法加上主库数据源,读操作方法加上从库数据源,自动切换,就能实现读写分离。

12 MyBatisX插件

  1. MyBatis-Plus为我们提供了强大的mapper和service模板,能够大大的提高开发效率。
  2. 但是在真正开发过程中, MyBatis-Plus并不能为我们解决所有问题,例如一些复杂的SQL,多表 联查,我们就需要自己去编写代码和SQL语句,我们该如何快速的解决这个问题呢,这个时候可 以使用MyBatisX插件。
  3. MyBatisX一款基于 IDEA 的快速开发插件,为效率而生。
  4. MyBatisX插件用法:https://baomidou.com/guides/mybatis-x/。
  5. 具体的安装步骤,见2 入门案例2.4
http://www.jsqmd.com/news/552487/

相关文章:

  • 2026电力行业电动推杆优质供应商推荐榜:电动推杆销售厂家、电液推杆、电动推杆供应厂家、电动推杆供应商、电动推杆公司选择指南 - 优质品牌商家
  • 保姆级教程:用Java SpringBoot实现钉钉机器人自动回复@消息(附完整源码)
  • 深度解析Lilishop多商户电商平台:企业级微服务架构与完整B2B2C解决方案
  • 智能科学与技术毕设简单的方向帮助
  • 清单来了:2026年最值得信赖的专业AI论文平台
  • Spring Cloud Hystrix 详细示-元一软件
  • springboot-vue+nodejs大学生作业管理系统的设计与实现
  • Python代码质量与重构:从原理到实践
  • 零基础玩转OpenClaw:百川2-13B镜像的10个预设任务体验
  • **发散创新:基于 Rust的自愈系统设计与实现——让程序“活”起来**
  • 百川2-13B-4bits量化版+OpenClaw:3种办公自动化场景效率提升实测
  • springboot-vue+nodejs大学生社团管理系统
  • Kook Zimage真实幻想Turbo部署优化:显存占用从18G降至13G实录
  • 2026年艺术漆优质推荐榜:北欧丝绒艺术漆/天鹅绒艺术漆/家装墙面艺术漆/家装顶面艺术漆/小羊皮艺术漆/工装墙面艺术漆/选择指南 - 优质品牌商家
  • 个人知识管理:用OpenClaw+nanobot构建第二大脑
  • 开发者必备:OpenClaw调用GLM-4.7-Flash调试API全记录
  • 跨平台文件同步:OpenClaw+百川2-13B-4bits实现多设备间智能归档
  • Wan2.2-I2V-A14B效果实测:不同prompt下视频连贯性、画质、运镜表现
  • 24小时运行OpenClaw:nanobot镜像监控网站变更并邮件报警
  • 光伏充电桩漏电检测踩坑实录:我们如何用FR2V 0.01 H00传感器将误报率降低90%
  • 2026留学备考雅思机考模考系统优质推荐:成人商务英语培训/成人英语口语1v1提升课程/成人英语口语培训/成人英语口语机构/选择指南 - 优质品牌商家
  • 从AutoCAD到Qt界面:一个完整的地板铺贴图DXF文件解析与可视化项目复盘
  • 2026年口碑好的小型休闲三轮车/老年休闲三轮车公司选择指南 - 品牌宣传支持者
  • LVGL显存、FreeRTOS堆栈、全局变量:在128KB RAM的STM32F407上如何做内存预算与平衡?
  • Z-Image-Turbo孙珍妮LoRA模型部署教程:支持WebP/AVIF新格式输出
  • 爱享素材下载器:跨平台资源下载的终极解决方案
  • Win11下Redis安装全攻略:从下载到自启动,一步不落
  • 开源工具KeyboardChatterBlocker:机械键盘连击问题的智能解决方案
  • 硬盘医生:3分钟掌握DiskInfo健康诊断技巧
  • 电动汽车BMS绝缘检测实战:平衡电桥法在高压系统中的5个关键设计要点