为什么老外不愿意用MyBatis?

640?wx_fmt=jpeg

来自:http://suo.im/5f4ee4

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

640?wx_fmt=jpeg

我们看一下Google Trends的数据:

搜索条件是这样的:

640?wx_fmt=jpeg

World Wide:

640?wx_fmt=jpeg

United States:

640?wx_fmt=jpeg

France:

640?wx_fmt=jpeg

India:

640?wx_fmt=jpeg

Canada:

640?wx_fmt=jpeg

China:

640?wx_fmt=jpeg

Japan:

640?wx_fmt=jpeg

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

640?wx_fmt=jpeg

640?wx_fmt=jpeg

再看看Stack Overflow上的问题数:

640?wx_fmt=jpeg

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

640?wx_fmt=jpeg

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


下面是我个人的观点:

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

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

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

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

长按订阅更多精彩▼

640?wx_fmt=jpeg

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
回答: MyBatis是一种优秀的持久层ORM框架,它可以简化开发人员对关系数据库的使用。使用MyBatis有以下几个原因:首先,MyBatis提供了灵活的SQL映射,使得开发人员可以直接编写SQL语句,灵活地操作数据库。其次,MyBatis具有良好的性能,它采用了对SQL语句进行预编译和缓存的优化技术,可以减少数据库访问的开销。此外,MyBatis还支持动态SQL语句的编写,可以根据实际需求来动态生成SQL语句,提高开发效率。最后,MyBatis具有良好的扩展性,可以与其他框架和工具无缝集成,如Spring等。综上所述,使用MyBatis可以简化开发人员对数据库的操作,提高开发效率,并且具有良好的性能和扩展性。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [1、mybatis是什么?为什么要用mybatis?](https://blog.csdn.net/chaizepeng/article/details/119384531)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [什么是Mybatis,为什么要学习Mybatismybatis与hibernate区别](https://blog.csdn.net/qq_44543508/article/details/97007064)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [[Java]为什么要使用MyBatis](https://blog.csdn.net/loongkingwhat/article/details/88393643)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值