关注不迷路
来源:zhihu.com/question/309662829
Spring 团队的Josh Long自己在Twitter上做了一个调查。1625次投票,样本量不算大,但也能说明问题。和我答案最后的那些调查图表基本一致。
![图片](http://dingyue.ws.126.net/2021/1212/de7705a0j00r4068z000pd200k000bgg00k000bg.jpg)
我们看一下Google Trends的数据:
搜索条件是这样的:
![图片](http://dingyue.ws.126.net/2021/1212/1731a276j00r4068z000bd200k0005yg00k0005y.jpg)
World Wide:
![图片](http://dingyue.ws.126.net/2021/1212/d646aaf4j00r40690000fd200k0006tg00k0006t.jpg)
United States:
![图片](http://dingyue.ws.126.net/2021/1212/7a84fd3fj00r40690000gd200k0006sg00k0006s.jpg)
France:
![图片](http://dingyue.ws.126.net/2021/1212/7580ba14j00r40690000hd200k0006sg00k0006s.jpg)
India:
![图片](http://dingyue.ws.126.net/2021/1212/4f2f3c05j00r40690000fd200k0006yg00k0006y.jpg)
Canada:
![图片](http://dingyue.ws.126.net/2021/1212/d6287e57j00r40691000jd200k0006ug00k0006u.jpg)
China:
![图片](http://dingyue.ws.126.net/2021/1212/c79d849bj00r40691000id200k0006rg00k0006r.jpg)
Japan:
![图片](http://dingyue.ws.126.net/2021/1212/cfeef028j00r40692000kd200k0006rg00k0006r.jpg)
其他英文技术网站上的多个统计:
再看看Stack Overflow上的问题数:
![图片](http://dingyue.ws.126.net/2021/1212/9a12ab46j00r406930012d200k0009sg00k0009s.jpg)
(含有hibernate的标签和问题数)
![图片](http://dingyue.ws.126.net/2021/1212/907c3794j00r40693000jd200k00079g00k00079.jpg)
(含有mybatis的标签和问题数)
下面是我个人的观点:
其实十年前我们主要使用的ORM框架就是iBatis,而阿里巴巴是对国内Java开发者影响最大的一家公司。阿里在国内Java社区的影响力有目共睹,这个大家应该都能感受到, 阿里对Java社区贡献了很多实用的开源工具,并且国内Java开发者对于阿里开源的产品接纳程度也最高。
而且早期阿里系离职工程师的影响力也不可小觑,这些从阿里离职的工程师进入了各个规模的公司, 通常也有担任较高的职位, 拥有着相对较多的话语权, 在新公司继续使用自己熟悉的iBatis就是再正常不过的了。
MyBatis封装较少,提供的切入点较多,适合进行架构。遇到超级复杂的场景的时候有不错的sql支持。曾经JPA适合做增删改,mybatis只擅长查询,但是现在的tk.mybatis已经补上了这一块短板,而JPA的依然没有补上他的查询短板。在复杂情况下需要在代码里嵌入大量sql片段或手动用代码拼装sql,但是老实说,都到这份上了,写sql不是还更快一点?因此,做企业级应用时,如果组内Hibernate会的人多,可以考虑用这个,但是依然会埋下一个性能的坑。做互联网级应用时,建议还是用Mybatis吧。
综合考虑,Mybatis的优点是简单高效,优化起来也方便,比较符合现在的开发节奏,现在的互联网公司都是先快速开发占领市场,然后再优化代码。而且这个过程需求经常是变来变去的,开发人员也有流动性,这种情况下用Mybatis显然更加适合。
逆锋起笔是一个专注于程序员圈子的技术平台,你可以收获最新技术动态、最新内测资格、BAT等大厂的经验、精品学习资料、职业路线、副业思维,微信搜索逆锋起笔关注!
近期热文
好文章,我 在看❤️
热门跟贴