欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

为什么老外不愿意用MyBatis?

程序员文章站 2022-03-20 16:45:38
作者:陈龙 www.zhihu.com/question/309662829 Spring 团队的Josh Long自己在Twitter上做了一个调查。1625次投票,样本量不算大,但也能说明问题。和我答案最后的那些调查图表基本一致。 我们看一下Google Trends的数据: 搜索条件是这样的: ......

作者:陈龙

www.zhihu.com/question/309662829

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

为什么老外不愿意用MyBatis?

我们看一下google trends的数据:

搜索条件是这样的:

为什么老外不愿意用MyBatis?

world wide:

为什么老外不愿意用MyBatis?

united states:

为什么老外不愿意用MyBatis?

france:

为什么老外不愿意用MyBatis?

india:

为什么老外不愿意用MyBatis?

canada:

为什么老外不愿意用MyBatis?

china:

为什么老外不愿意用MyBatis?

japan:

为什么老外不愿意用MyBatis?

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

为什么老外不愿意用MyBatis?

为什么老外不愿意用MyBatis?

再看看stack overflow上的问题数:

为什么老外不愿意用MyBatis?

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

为什么老外不愿意用MyBatis?

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

 

下面是我个人的观点:

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

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

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

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

推荐阅读(点击即可跳转阅读)

 

1. springboot内容聚合

2. 面试题内容聚合

3. 设计模式内容聚合

4. mybatis内容聚合

5. 多线程内容聚合