为什么歪果仁都用Hibernate,而我们用MyBatis?

为什么歪果仁都用Hibernate,而我们用MyBatis?

封面:宽窄巷子

http://suo.im/5PT087

Spring 团队的Josh Long自己在Twitter上做了一个调查。1625次投票,样本量不算大,但也能说明问题。和我答案最后的那些调查图表基本一致。

为什么歪果仁都用Hibernate,而我们用MyBatis?

我们看一下Google Trends的数据

搜索条件是这样的:

为什么歪果仁都用Hibernate,而我们用MyBatis?

World Wide:

为什么歪果仁都用Hibernate,而我们用MyBatis?

United States:

为什么歪果仁都用Hibernate,而我们用MyBatis?

France:

为什么歪果仁都用Hibernate,而我们用MyBatis?

India:

为什么歪果仁都用Hibernate,而我们用MyBatis?

Canada:

为什么歪果仁都用Hibernate,而我们用MyBatis?

China:

为什么歪果仁都用Hibernate,而我们用MyBatis?

Japan:

为什么歪果仁都用Hibernate,而我们用MyBatis?

其他英文技术网站上的多个统计

为什么歪果仁都用Hibernate,而我们用MyBatis?

为什么歪果仁都用Hibernate,而我们用MyBatis?

再看看Stack Overflow上的问题数 :

为什么歪果仁都用Hibernate,而我们用MyBatis?

(含有hibernate的标签和问题数)

为什么歪果仁都用Hibernate,而我们用MyBatis?

(含有mybatis的标签和问题数)

下面是javaweb项目作者个人的观点:

其实十年前我们主要使用的ORM框架就是iBatis,而阿里巴巴是对国内Java开发者影响最大的一家公司。阿里在国内Java社区的影响力有目共睹,这个大家应该都能感受到, 阿里对Java社区贡献了很多实用的开源工具,并且国内Java开发者对于阿里开源的产品接纳程度也最高。

而且早期阿里系离职工程师的影响力也不可小觑,这些从阿里离职的工程师进入了各个规模的公司, 通常也有担任较高的职位, 拥有着相对较多的话语权, 在新公司继续使用自己熟悉的iBatis就是再正常不过的了。

MyBatis封装较少,提供的切入点较多,适合进行架构。遇到超级复杂的场景的时候有不错的sql支持。曾经JPA适合做增删改,mybatis只擅长查询,但是现在的tk.mybatis已经补上了这一块短板,而JPA的依然没有补上他的查询短板。在复杂情况下需要在代码里嵌入大量sql片段或手动用代码拼装sql,但是老实说,都到这份上了,写sql不是还更快一点?因此,做企业级应用时,如果组内Hibernate会的人多,可以考虑用这个,但是依然会埋下一个性能的坑。做互联网级应用时,建议还是用Mybatis吧。

综合考虑,Mybatis的优点是简单高效,优化起来也方便,比较符合现在的开发节奏,现在的互联网公司都是先快速开发占领市场,然后再优化代码。而且这个过程需求经常是变来变去的,开发人员也有流动性,这种情况下用Mybatis显然更加适合。

好了…

现在是真的结束了…

我已经夸不动了…

千言万语化成一句,这么优秀的仓库,大家多多给仓库创建者  star  支持,你们的 star 是万千开源者源源不断创作的动力!

当然还有多多对我的 在看转发 支持啦,你们的“在看转发”也是我源源不断创作的动力呀…

好啦,今天的分享就到这儿啦,我们下次见啦~

原文 

http://mp.weixin.qq.com/s?__biz=MzU5ODUwNzY1Nw==&mid=2247486311&idx=1&sn=164a6e08bdad44d2df2e1b38d4529d19

本站部分文章源于互联网,本着传播知识、有益学习和研究的目的进行的转载,为网友免费提供。如有著作权人或出版方提出异议,本站将立即删除。如果您对文章转载有任何疑问请告之我们,以便我们及时纠正。

PS:推荐一个微信公众号: askHarries 或者qq群:474807195,里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化这些成为架构师必备的知识体系。还能领取免费的学习资源,目前受益良多

转载请注明原文出处:Harries Blog™ » 为什么歪果仁都用Hibernate,而我们用MyBatis?

赞 (0)
分享到:更多 ()

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址