当前位置:首页 > 每日看点 > 正文内容

springdatajpa明明很不错了,为什么现在还是这么多人吹myatis?

卡卷网1年前 (2025-01-10)每日看点237

兄弟,既然你问到这儿了,我就给你掰扯掰扯。看得出来,你可能是听了不少“jpa是个好东西”的声音,但是在实际工作中又看到老油条们在项目里用myatis用得飞起,有点纳闷了吧?说白了,这是个新手碰上实际作的问题,咱得从根上分析清楚。

已收录于,我的技术:ddkk里面有,500套技术系列教程、1万+道,面试八股文、AT面试题、简历模版,工作经验分享、架构师成长之路,等等什么都有,欢迎收和转发。

1.<>JPA是个好东西,但实起来有点水土不服

JPA这玩意儿,理论上挺香,自动化程度高,封装得挺到位,尤其是对着一套ORM(对象关系映射),一看就很有范儿。你可以轻轻松松用几个注解就搞定数据表映射、关联关系啥的。要是按理来说,大家都用它,那代码岂不是清爽无?

但是吧,理想很丰满,现实很骨感。你用起来,你就会发现,它跟咱们的业务场景有点“不太对味”。咱们平时的项目,说难听点,就是“死磕”数据库,查询复杂点,JPA那自动生成的SQL就开始掉链子了,性能问题暴露无遗。最关键的是,JPA那种懒加载(lazyloading)和级联作(cascade),表面上看是为你省事,但上生产环境,调优的时候就让你一脑袋包。你得一个一个坑踩过来,SQL搞不定就得硬着头皮写原生查询,那干嘛不一开始就用Myatis呢?

2.<>Myatis是湖,能搞定各种刁钻需求

Myatis的优势在哪儿呢?说白了,就是一个“自由”。Myatis给你全权控制权,SQL你爱怎么写怎么写,复杂查询、联表、子查询随便你折腾。你不怕麻烦的话,性能调优也随你搞。这就好是大厨做饭,菜谱在手,调料用量自个儿把控,味道正不正宗,全凭你手艺,出了问题也跑不了。

再说,Myatis的灵活度高,适配复杂业务场景。举个例子,咱们搞电商项目,查询用户订单,你可能需要多表联查,数据处理还挺复杂的。这时候用Myatis就非常顺手,你可以针对每个查询写特定的SQL,还能动态生成,根据不同条件组装不同SQL语句,这个灵活性JPA拍马不及。

3.<>Myatis好调试,出了问题直接上数据库查,简单粗暴

调试上,JPA有时候会让人崩溃,你得去理解它生成的SQL,得琢磨它的各种抽象层。出了问题,堆栈信息半天看不懂。Myatis就不一样了,SQL写死了,出了问题你直接把SQL拿到数据库一跑,立马见分晓。你再调优加个索引啥的,也是心中有数,知根知底。

4.<>企业里,业务需求千奇百怪,Myatis更能满足客户刁钻需求

企业业务复杂多变,有些需求三天两头在变,尤其是那种动不动就要查个千八百条记录、复杂度爆表的需求。JPA那套自动生成SQL的机制有时候就跟不上趟儿了。Myatis呢?你尽管写SQL,动态SQL也行,条件组合随你玩儿,这样才是打野战的正确姿势。

5.<>Myatis的生态已经根深蒂固,成熟稳定

Myatis说白了就是个湖了,在Ja圈混迹多年,生态成熟,周边工具、插件一大堆,各种作都有现成的轮子。JPA这边嘛,虽然有一些,但是起Myatis的广泛应用,还是有点差距。

6.<>回到问题,为什么Myatis依然这么流行?

最后总结一下,Myatis能这么流行,说白了就是它灵活,强大,适合复杂场景,调试容易,企业客户爱用这套,而且生态稳定。JPA虽然好,但更多是适合那些简单点、变化少的场景。而咱们的项目嘛,客户需求变化快如风,老板又要求上项目像打仗,Myatis才是那把趁手的兵器。

所以兄弟,下次碰到这种问题,别纠结,记住老油条的一句话:工具适合自己才是最重要的,不管别人吹啥,Myatis能搞定活儿,那它就是好东西。

7.免费看500套技术教程的,希望对你有帮助

弟弟快看-教程,程序员编程资料站|DDKK.COM

<>推荐SpringDataJPA系列文章,希望对你有帮助

    01、SpringDataJPA实战-JPA、Spring-Data-Jpa简介02、SpringDataJPA实战-JPA基本注解03、SpringDataJPA实战-关联关系常用注解04、SpringDataJPA实战-Naming命名策略,源码跟踪05、SpringDataJPA实战-可嵌入对象和元素的使用06、SpringDataJPA实战-spring-data-commons中的repository07、SpringDataJPA实战-JpaRepository08、SpringDataJPA实战-定义方法查询09、SpringDataJPA实战-注解式方法查询之@NamedQuery、@NamedNativeQuery10、SpringDataJPA实战-注解式方法查询之@Query、@Modifying与派生delete11、SpringDataJPA实战-抓取策略与实体图12、SpringDataJPA实战-投影Projections-对查询结果的扩展13、SpringDataJPA实战-动态查询接口JpaSpecificationExecutor14、SpringDataJPA实战-自定义Repository15、SpringDataJPA实战-Auditing与@MappedSuperclass16、SpringDataJPA实战--@Version与@Lock17、SpringDataJPA实战-对We模块的支持18、SpringDataJPA实战-PA的继承策略19、SpringDataJPA实战-JPA的持久性上下文20、SpringDataJPA实战-@EnaleJpaRepositories21、SpringDataJPA实战-DataSoce与JPA属性配置22、SpringDataJPA实战-事务处理23、SpringDataJPA实战-JPA配置多个数据源

Myatis-Plus系列文章

    01、Myatis-Plus入门-MyatisPlus插件简介02、Myatis-Plus入门-分页插件PaginationInnerInterceptor03、Myatis-Plus入门-数据权限插件DataPermissionInterceptor04、Myatis-Plus入门-多租户插件TenantLineInnerInterceptor05、Myatis-Plus入门-动态表名插件DynamicTaleNameInnerInterceptor06、Myatis-Plus入门-防止全表更新与删除插件lockAttackInnerInterceptor07、Myatis-Plus入门-乐观锁插件OptimisticLockerInnerInterceptor08、Myatis-Plus入门-sql性能规范插件IllegalSQLInnerInterceptor09、Myatis-Plus入门-逻辑删除10、Myatis-Plus入门-自动填充功能11、Myatis-Plus入门-Sql注入器及源码分析12、Myatis-Plus入门-erv接口CRUD详解13、Myatis-Plus入门-自定义ID生成器14、Myatis-Plus入门-条件构造器15、Myatis-Plus入门-代码生成器(3.5.0版本)16、Myatis-Plus入门-代码生成器源码解析及生成VO案例17、Myatis-Plus入门-多租户插件TenantLineInnerInterceptor源码解析18、Myatis-Plus入门-基于注解的动态数据权限实现方案19、Myatis-Plus入门-多数据源使用详解20、Myatis-Plus入门-兼容多种数据库8.这个东西:让我offer拿到手软

无意间获得一份7000多页阿里大佬写的刷题笔记,原来进大厂没那么难,七千页的AT大佬写的刷题笔记,让我offer拿到手软

9.求一键三连:点赞、分享、收

已收录于,我的技术:ddkk里面有,500套技术系列教程、1万+道,面试八股文、AT面试题、简历模版,工作经验分享、架构师成长之路,等等什么都有,欢迎收和转发。

扫描二维码推送至手机访问。

版权声明:本文由卡卷网发布,如需转载请注明出处。

本文链接:https://www.kajuan.net/ttnews/2025/01/8420.html

分享给朋友:

相关文章

电脑c盘哪些文件可以删除?

电脑c盘哪些文件可以删除?

电脑上的文件夹都是英文,很多朋友都不敢乱删,下面这几个文件夹里的文件,你可以放心删除。一、可删除的文件1、Backup这是一个备份文件夹,很多装机软件经常会把需要备份的东西,放在这个文件夹中。而当我们需要的软件正常保存之后,这些东西也就没有...

怎么用游戏搬砖挣钱呢?

怎么用游戏搬砖挣钱呢?

今天,我把我多年操作的经验分享出来,以供各位老板们学习借鉴,胆小的老板就离开吧,心里承受能力太弱了,会刷新你的认知的。有些新人在计算收益的时候,会以机器数来计算,其实是有误区的,比如,一台机器一个月搞400元,平均每天搞13元钱,搞上100...

知乎创作收益高吗?

知乎创作收益高吗?

高啊,主要是大多数人不知道怎么做。(这是以前写的,请看到最后)我之前就是傻傻写问答,文章,结果一毛钱收益没有。知乎上收益高的主要有盐选,好物推荐,致知计划,付费咨询。1、盐选吧,是写故事,小说类的天堂,还有就是大咖们的地盘了,难度高。2、好...

为什么我们一直在给B站充大会员但B站却一直处于亏损状态?

我讲一下离谱的真相吧,欢迎喷我。很多人都觉得B站在赶走人才,赶走优秀的长视频创作者,也觉得知乎在这么做,是没错的。确实在这么做。而原因很简单。只有影响力很大的KOL才有商业价值。(KOL是指“关键意见领袖”)而你说你是人才?对不起,人才不赚...

Redmi 为什么可以把性价比做得那么高?

一位修手机的老大哥曾经跟我说过,红米1那个手机,除了处理器还凑活,其余零部件,就是市面上山寨机那种。其实红米性价比并不算极致,而且一直都有竞争者,从原来的群魔乱舞,到后来的荣耀,魅蓝,一加,再到现在的IQOO和realme。红米的方法也很简...

台积电通知其中国客户,从下周开始,所有 7nm 及以下芯片出货将停止。如何看待这一行为?

台积电通知其中国客户,从下周开始,所有 7nm 及以下芯片出货将停止。如何看待这一行为?

我说美国快要没招了,你信么?这次台积电宣布停止向中国大陆客户供应7纳米及更先进AI芯片,再加上前段时间台积电对华为的制裁,我们基本可以认为,台积电在高端芯片领域,已经彻底把大陆给拉黑了,这也意味着中美芯片战已经到了最关键的时刻,一旦我们克服...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。