首页IT科技Mybatisplus新增和更新(增强MybatisPlus拓展新功能 实战MybatisPlus大合集)

Mybatisplus新增和更新(增强MybatisPlus拓展新功能 实战MybatisPlus大合集)

时间2025-06-15 00:34:36分类IT科技浏览3830
导读:mybatis-plus-max简介 MybatisPlusMax是MybatisPlus的增强包,秉承只拓展不修改的理念,对MybatisPlus做增强。...

mybatis-plus-max简介

MybatisPlusMax是MybatisPlus的增强包            ,秉承只拓展不修改的理念                   ,对MybatisPlus做增强            。

正如MybatisPlus是对MyBatis的增强       ,MybatisPlusMax是对MybatisPlus的增强            ,拓展理念一脉相承                   。

显而易见                  ,MybatisPlus依然进入软件成熟期       ,对其进行微小的修改会慎之又慎      ,向其提交修改PR周期较长                  ,基于此考虑             ,为了更好的使用MybatisPlus      ,作者决定拓展第三方功能包       。

当MybatisPlusMax代码逐步成熟后                  ,作者愿意一次性捐献给MybatisPlus官方团队             ,以方便用户更好的使用MybatisPlus            。

与MybatisPlus的渊源

MyBatis粉

早期的作者也是MyBatis粉,如果你是从拼接SQL时代过来的                  ,受够了在Java代码中拼接SQL字符串                   ,那么MyBatis绝对让你爱不释手                  。

随着MyBatis的重度使用,也暴露出一些问题:访问数据库极其啰嗦            ,单表CURD兜兜转转需要写一大堆代码                   ,每个项目有很多张表       ,每个开发会做很多项目            ,此时的MyBatis从开发端来讲需要完善       。

MybatisPlus初版

MybatisPlus敏锐的发现MyBatis的痛点                  ,着手对MyBatis重复业务代码进行封装       ,于是便形成了早期版本MybatisPlus      。

早期的MyBatisPlus字段名等魔法值充斥着Java代码里      ,并且为了构建查询条件                  ,需要编写及其啰嗦的代码             ,很多MyBatis使用者对此嗤之以鼻                  。被喷的原因如下:大量的字段名魔法值充斥在Java代码里      ,与早期的拼接SQL字符串有何区别;非常简单的查询条件                  ,在XML文件中很容易完成             ,使用MybatisPlus构造查询条件啰啰嗦嗦,不知所云             。

早期的MybatisPlus为了改进MyBatis的使用的想法是好的                  ,可是在落地实践过程中带来了更大的问题                   ,因此处于不温不火的状态      。

MybatisPlus新生

Java 8带来了Lambda表达式,为MybatisPlus重构代码带来了新的基础能力                  。MybatisPlus基于Java 8新特性进行代码重构            ,为其带来了新生                   ,使用Lambda语法       ,干掉了Java代码里的字段名等魔法值            ,此时的MybatisPlus真正展示出吸引力             。

作者粉的是Lambda表达式版本的MybatisPlus                  ,不管是查询条件的构建       ,还是字段的选取      ,均使用Lambda表达式(方法引用)来完成                  ,Java代码变得清爽。

方法引用性能

使用方法引用来替换字段名             ,是否会产生性能问题呢?会也不会                  。会是因为经过一层包装      ,性能确实有损耗                  ,不会是因为MybatisPlus在使用反射的地方使用了缓存             ,有效的解决了中间过程耗时操作,因此可以认为Lambda版的MybatisPlus的性能略有下降                   。用略微下降一点性能的代价置换开发的灵活性                  ,这一点是值得的。

况且现代服务器硬件逐年提高                   ,从系统总体而言考虑,利大于弊            。

基于方法引用实现编码            ,在遇到代码重构是有多爽就不用多说了                   。小步快跑            、敏捷开发等                   ,造成的屎山代码不胜枚举       ,代码重构的地位变得愈发重要       。

作者的努力

作者是MybatisPlus粉            ,因此在系统组件选择态度更为积极            。

零SQL函数式编程时代

在Lambda表达式加持下的MybatisPlus                  ,零SQL函数式编程成为了可能                  。零SQL是只尽量少显示的编写SQL语句       ,能不写就不写      ,对于疑难杂症                  ,退回使用MyBatis XML更为方便             ,此时也不能一条道走到黑       。

MybatisPlusMax

MybatisPlusMax不是新内容新      ,是从common包中抽离出来的代码                  ,方便用户更好的使用和解藕      。

DAO缓存

给DAO层透明化的增加缓存             ,能够极大的提高接口的响应效率,透明化意味着不知不觉间具备了缓存的能力                  ,业务代码零感知                  。这里使用的是Redis分布式缓存                   ,Redis是继Mysql之后必备的组件,因此默认缓存使用Redis分布式缓存             。

有关DAO更多内容            ,请查看视频教程增强MybatisPlus!一行代码整合Redis分布式缓存!

多表连接查询

在我们使用Lambda风格搞定单表查询之后                   ,因业务需要       ,多表连接查询必不可少!为此作者在此方面也做了不少努力            ,既然选择零SQL编程                  ,那么便坚持到底      。

在这里需要说明几点       ,有不少声音认为      ,单表使用MybatisPlus                  ,多表使用MyBatis             ,有这种想法的朋友可以更近一步      ,不然便是自欺欺人                  ,挂着MybatisPlus之名干MyBatis之实                  。

实际上             ,MyBatis使用join来完成连表查询,本身是有性能缺陷的                  ,数据库数据量膨胀越来越快                   ,join连表查询的弊端愈发明显             。《阿里巴巴开发者手册》明令禁止使用join查询,你还在坚持什么呢?

以Lambda版MybatisPlus单表查询为基础            ,通过Java内存拼装                   ,完成多表连接查询是全新的选择。视频教程如下:

MybatisPlus多表连接查询 MybatisPlus多表连接查询合集说明 MybatisPlus多表连接查询一对一单条记录查询 MybatisPlus多表连接查询一对一查询列表数据 MybatisPlus多表连接查询一对一分页查询数据 MybatisPlus多表连接查询一对多查询列表数据 MybatisPlus多表连接查询一对多分页查询数据 MybatisPlus多表连接查询结语总结 用代码生成器自动化实现MybatisPlus多表连接查询 MybatisPlus多表连接查询过滤敏感字段属性 MyBatis多表连接查询开启二级缓存脏数据案例分析 MybatisPlus多表连接查询之二级缓存 Java代码生成器

只要你想偷懒       ,那么Java代码生成器便是偷懒的利器            ,Java代码生成器以MybatisPlus为基础                  ,通过在全局yml文件中复用数据库       ,读取数据库元数据信息      ,一件生成domain                   、mapper       、service            、controller等Spring MVC风格代码                  ,以单表查询为主             ,兼顾多表连接查询      ,是你的开发好帮手                  。

文字教程MybatisPlus代码生成器

视频教程 Java代码生成器 本地代码生成器 Java代码生成器 基于SpringBoot MybatisPlus风格 重制版 Java代码生成器2.0(重制版)

后记

作者叫赛泰先生                  ,主要技术分享平台在B站             ,是一位MybatisPlus粉,基于MybatisPlus做实战技术分享                  ,希望能对喜欢MybatisPlus的你有所帮助                   。

另外有MybatisPlus技术学习群                   ,添加UP微信dream4s付费进群(个位数),请注明来意。

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
exe文件编辑器(ext2ed命令 – 文件系统编辑程序) typecho博客主题魔改破解(探索typecho采集:打造个性化博客的最佳选择)