存在这么一个情况:对于缺营养的人来说,医生更倾向于建议他选择纯牛奶,而不是有机奶(因其有添加剂)。然而,大部分人却更加倾向于选择有机奶,
因其口感不错,因此,对于选择纯牛奶还是有机奶,这是个博弈问题。
本篇文章,主要从架构师角度谈谈为什么建议选择mybatis(纯牛奶),而不建议选择mybatis-plus(有机奶),大家有任何想法,欢迎在评论区交流。
1 关于dao层技术选型
在JAVA领域,可选择的ORM框架还是比较多的,如Spring JDBC,JPA,Hibernate,Mybatis,Mybatis-plus等,其中,mybatis可以算得上是领导者,具有极强的领导作用。
2 深入分析mybatis plus插件原理
2.1 资料
https://mp.baomidou.com/guide/
https://github.com/baomidou/mybatis-plus
2.2 mybatis 源码架构解析
2.3 mybatis-plus 架构与源码
3 mybatis plus 存在的问题
关于mybatis-plus的优点,这里就不论述了,官网说得很详细,详细参考官网:
https://jiansutech.yuque.com/staff-al4og8/drmyey/brma9c
3.1 增加学习成本
mybatis是公认的,被市场验证过的,程序员普遍认同的,java行业统一认同的ORM框架,但mybatis-plus并未经过市场的充分验证,且更谈不上程序员普遍认同
和java行业统一认同,如此,假设A,B,C,D,E,F公司,都用mybatis(因为是公认的,行业默认标准),而只有A,C公司用mybatis-plus,在这样情况下,A公司外聘
了B,D,E,F公司的技术人员,这些技术人员加入进来,需要学习mybatis-plus插件,增加了学习成本。
3.2 增加升级和维护成本
1.mybatis版本变化,mybatis-plus版本是否会相应变化?
2.对于mybatis-plus每个版本,是否充分经过市场验证和证明?若出现不能用或bug,怎么解决?
3.3 "百花齐放"现象
在Java开发领域,有这么一个默认共识:在考虑稳定性,可扩展性和生态性前提下,架构越简单,越单纯,越单一,越佳。举几个例子:
例子1:架构的干净与统一
你会更喜欢一个只有一种ORM还是有多种ORM的框架,除此之外,考虑一下新人入手框架的学习成本以及代码的维护成本。
例子2:开发人员的犹豫性
假设开发人员接手一个多种ORM组合的框架,那么他在开发需求时,他应该选择哪个ORM框架呢?
例子3:开发人员的排他性
假设一个只熟悉Hibernate的开发人员接手到一个混合ORM框架吗(暂且定为二混合,即hibernate和mybatis),当他在开发新需求时,会更倾向于选择hibernate(即使他
知道,在大多数场景下,mybatis性能优于hibernate性能),而不是mybatis,当你问他为什么不用mybatis时,他肯定会反驳几个让你无法回对的问题,如框架不是有hibernate
吗,照着copy不就ok了?我不熟悉mybatis,刚好框架也有hibernate,方便快捷?没人给我说尽量用mybatis呀,框架有说明么?......
例子4: 开发人员的自我证明与炫耀性
你看现在框架里有多种组合,我也搞一种,A说我封装了一个Json类,B说我封装了算法类,C说我封装了字符串类,D说公司有自己通用的类,E说你们这些都不行,你看
现在hutool(对该框架感兴趣,可参官方文档:https://www.hutool.cn/docs/#/)这么齐全,直接用就好。。。,如此,真是"百花齐放",难以控制。
3.4 DB和架构师视角
根据mybatis-plus源码,随机抽取几个功能接口来分析:
1 T selectById(Serializable id);
1.基本性能视角:假设用户信息表有100个字段,100w条数据(其实,100w数据是远远不够的,一般有一定业务量的,都是千万级别),每次都SELECT * FROM user_info,结果会怎样?
2.dba或架构师优化视角:某天,系统很卡,问题反馈到DAB或架构师处,他们均不能直观的看到sql是怎么写的,也没有时间去研究源码,也没时间去反编译,那么他们如何去优化?
3.联合主键视角:某天,发现仅仅通过主键id不能解决性能问题,需要建立联合索引,此时,该如何解决?
4.表Join视角:从用户维度......
原文转载:http://www.shaoqun.com/a/819633.html
跨境电商:https://www.ikjzd.com/
特许金融分析师:https://www.ikjzd.com/w/1396
aeo:https://www.ikjzd.com/w/2356
square:https://www.ikjzd.com/w/2106
存在这么一个情况:对于缺营养的人来说,医生更倾向于建议他选择纯牛奶,而不是有机奶(因其有添加剂)。然而,大部分人却更加倾向于选择有机奶,因其口感不错,因此,对于选择纯牛奶还是有机奶,这是个博弈问题。本篇文章,主要从架构师角度谈谈为什么建议选择mybatis(纯牛奶),而不建议选择mybatis-plus(有机奶),大家有任何想法,欢迎在评论区交流。1关于dao层技术选型在JAVA领域,可选择的OR
长鹿农庄万圣节2021几号到几号?顺德长鹿农庄万圣节举行多长时间?:http://www.30bags.com/a/431901.html
易佰:https://www.ikjzd.com/w/1482
Jumbotail:https://www.ikjzd.com/w/2460
localbanya:https://www.ikjzd.com/w/2461
货代助手:https://www.ikjzd.com/w/2462
深圳深声不息展览时间+地址+预约方式:http://www.30bags.com/a/447890.html
ifttt:https://www.ikjzd.com/w/956
10月去井冈山旅游穿什么衣服:http://www.30bags.com/a/418157.html
女友分手的理由竟是对我没感觉(2/2):http://lady.shaoqun.com/m/a/72552.html
领导从背后捏住我的奶 握住她的双乳肆意揉弄:http://www.30bags.com/m/a/249820.html
深圳海上世界文化艺术中心展览汇总:http://www.30bags.com/a/447891.html
故事:被迫嫁给将军,官夫人不愿合租,但将军死后,她牺牲了自己:http://www.30bags.com/a/447892.html
没有评论:
发表评论