双11如果用Hibernate,会怎样?
有个很有趣的现象,在国内火的一塌糊涂的mybatis,根据JVM生态系统报告,大量的开发者,在ORM框架中使用Mybatis的占比仅有6%,国外的程序员更倾向于使用Hibernate。
ORM使用状况
但是阿里巴巴的持久层选择了MyBatis,如果双11用hibernate,会怎么样?为什么国内外对于ORM框架的使用为什么会有这么大的差异?
关于这个,也和很多同事讨论过,也咨询了一些国际友人,最后总结了一下,感觉是因为老外的项目,在数据体量和种类上完全达不到国内的水平。所以对性能上的要求没那么高。国外一个项目做几年、十几年是很正常的。而在国内,互联网项目追求的是高性能,尤其是数据库查询的时候,在并发量高的情况下需要对sql 语句进行调优。一个双11,如果用hibernate,那只有死路一条了。
而支持定制化SQL、存储过程以及高级映射的优秀的持久层框架Mybatis,现在大家都不陌生,作为半自动ORM框架,在国内互联网大厂必用。
倒不是MyBatis一定比hibernate好。两者各有优劣,做企业级应用时,可以考虑用Hibernate,但是会埋下一性能的坑;做互联网级应用时,建议还是用Mybatis吧。
综合来说,Mybatis的优点是简单高效, 学习成本低,不增加额外工作量(或很少增加),架构来说MyBatis功能单一,场景明确,耦合度低,无状态,面向sql 语句的,便于(放在业务代码里)分布式部署,优化起来也方便,比较符合现在的开发节奏。
现在的互联网公司都是先快速开发占领市场,然后再优化代码。而且这个过程需求经常是变来变去的,开发人员也有流动性,这种情况下用Mybatis显然更加适合。
MyBatis学习路线
为什么我们有时候工作中感觉很多技术都差不多?
我们在工作中,做架构设计的难处在于业务、成本、性能,三方面都有需求,但是往往不可能都满足。很多系统的开发没有很复杂的业务,成本有限,性能要求也不高,就会造成一个错觉,技术上用什么都可以。但是每个系统,每个组件,每个工具都有自己的特性和适用范围。只有碰到天花板,才能开启新的大门。
很多工作3、5年的程序员,就是如此,工作中接触的技术有限,对于MyBatis的诸多妙用依然一知半解。
为了带大家发现MyBatis的全新世界,我特地邀请了资深架构师、复旦大学硕士Lison老师为大家带来《MyBatis》系列直播课,带你摸清摸清MyBatis的骨架,同时从源码角度深度理解MyBatis,原价199元,公众号粉丝限时专享0.1元,限量200个名额!
在线直播,有疑问,现场解决!
《MyBatis从青铜到王者之路》
原价199元,本公众号粉丝专享限时0.1元
Lison老师:
资深架构师,10余年java行业经验。
专精领域:精通JAVA、J2EE和前端开发,擅长互联网高并发、高可靠架构设计;
课程大纲
3.10
骨骼惊奇的MyBatis
1.摸清MyBatis的骨架
2.日志模块分析
3.11
数据源与缓存的实现
1.数据源模块分析
2.缓存模块分析
3.12
学习源码的正确姿势
1.MyBatis的核心运行流程
2.看源码的正确姿势
▲附赠7.8G的Java架构进阶、视频资料
及程序员简历模板(简历做好,面试就成功了一半)
扫码添加肉兰老师报名
“掌握MyBatis要多久?”
“3天。”
“但是学会之后一定要不断练习。”