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

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

时间2025-09-18 16:38:44分类IT科技浏览4841
导读: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
现代化的生活方式作文600字(现代化生活中的PHP编程需求) redux reshade(Redux——详解)