点击上方“方志朋”,选择“置顶公众号”

技术文章第一时间送达!

来源:知乎

原文链接:http://suo.im/5f4ee4

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

我们看一下Google Trends的数据:

搜索条件是这样的:

World Wide:

United States:

France:

India:

Canada:

China:

Japan:

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

再看看Stack Overflow上的问题数:

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

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

下面是java版web项目作者个人的观点:

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

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

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

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

热门内容:

  • Springboot启动原理解析

  • 经典面试题: 为啥 ConcurrentHashMap 读操作不需要加锁?

  • 代码洁癖的春天!Java 效率工具之 Lombok

  • Maven 的这 7 个问题你思考过没有?

  • 细聊一下我的3条面试标准

  • 终于有人把中台说清楚了

  • 基于DDD的微服务设计和开发实战

  • 技术经理:求求你,别再乱改数据库连接池的大小了!

  • 别在 Java 代码里乱打日志了,这才是正确的打日志姿势!

感谢搓一下“在看

为什么老外不愿意用MyBatis?相关推荐

  1. 为什么老外不愿意用 MyBatis?

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 来源:知乎@陈龙 链接:zhihu.com/question/30 ...

  2. Spring MVC+Spring+Mybatis实现支付宝支付功能(附完整代码)

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 来源:https://urlify.cn/aYrmIr 前言 本教 ...

  3. fastjson到底做错了什么?为什么会被频繁爆出漏洞?

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 fastjson大家一定都不陌生,这是阿里巴巴的开源一个JSON解 ...

  4. 使用List中的remove方法遇到的坑,不信你没有踩过!

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 作者: Alice_qixin blog.csdn.net/Ali ...

  5. 5 款非常好用的开源 Docker 工具,get一波~

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 作者:Shekhar Gulati dzone.com/artic ...

  6. Java8 中有趣酷炫的小技巧,你用到了那些?

    执行注释 大多数开发人员认为 注释 永远不会在程序中执行,并用于帮助代码理解.但是,它们却 可以被执行: public class Main {public static void main(Stri ...

  7. 用 float 存储金额,老板说损失从工资里扣!

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 本文来源: juejin.im/post/5c08db5ff265 ...

  8. 重磅!阿里推出国产开源的jdk!

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 Alibaba Dragonwell 是一款免费的, 生产就绪型O ...

  9. 请不要将抛出异常作为业务逻辑使用!!!

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 作者:myfor www.cnblogs.com/myfor/p/ ...

最新文章

  1. 谈谈架构的本质和架构分类
  2. 投资圈中的“错过”之美:被大佬拒绝之后,他们成为了首富
  3. DNS中实现父子域,以及授权和转发
  4. virtualenv在windows10下面使用的注意事项
  5. 行内元素 块级元素之间的嵌套
  6. linux磁盘的命令是,linux磁盘相关的命令
  7. 关于移动平台的viewport
  8. 机械臂拉格朗日动力学怎么用matlab仿真_Matlab 机器人动力学参数辨识仿真(1)单摆的动力学参数辨识...
  9. 【牛腩】牛腩新闻发布系统总结
  10. Windows内核之系统架构
  11. 计算机算法设计与分析(1)--算法概述
  12. ES2015部分新特性示例
  13. C++春招实习和秋招面试过程记录
  14. #Ubuntu# #机械键盘# 功能键/多媒体键切换无效
  15. 软件测试自动化工具_用于软件测试的最佳免费自动化工具
  16. 基于豆瓣哈哈哈哈哈哈小组的数据分析研究
  17. SPARQL 使用教程
  18. 基于java+ssm医院门诊预约挂号排班系统
  19. chrome浏览器被2345和newduba(毒霸)劫持-介绍主流的两种方式
  20. 微信小程序 内部长按识别二维码添加个人微信

热门文章

  1. POJ.3207.Ikki's Story IV-Panda's Trick(2-SAT)
  2. 查看微码的两种方式hmcaix
  3. go1.8之安装配置
  4. POJ - 3660 Cow Contest(flod)
  5. jvm七种垃圾收集器
  6. 给GridView增加求和行
  7. 动态规划:求最大公共子串
  8. visual studio 2005 新建C++空项目无法调试的解决方案
  9. Office Live for Small Business--开启您创业的大门
  10. NCEPU:线下组队学习周报(009)