zoukankan      html  css  js  c++  java
  • 为什么国内流行的 MyBatis ,国外 Java 工程师却不愿意使用?

    Spring 团队的Josh Long自己在Twitter上做了一个调查。1625次投票,样本量不算大,但也能说明问题。和我答案最后的那些调查图表基本一致。
    在这里插入图片描述
    我们看一下Google Trends的数据:
    搜索条件是这样的:
    在这里插入图片描述
    World Wide:
    在这里插入图片描述
    United States:
    在这里插入图片描述
    France:
    在这里插入图片描述
    India:
    在这里插入图片描述
    Canada:
    在这里插入图片描述
    China:
    在这里插入图片描述
    Japan:
    在这里插入图片描述
    其他英文技术网站上的多个统计:
    在这里插入图片描述
    在这里插入图片描述
    再看看Stack Overflow上的问题数:
    在这里插入图片描述
    (含有hibernate的标签和问题数)
    在这里插入图片描述
    (含有mybatis的标签和问题数)

    下面是我个人的观点:

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

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

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

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

    来源 | zhihu.com/question/309662829
    在这里插入图片描述

    欢迎关注我的微信公众号「码农突围」,分享Python、Java、大数据、机器学习、人工智能等技术,关注码农技术提升•职场突围•思维跃迁,20万+码农成长充电第一站,陪有梦想的你一起成长

  • 相关阅读:
    【新提醒】N820 N821 android 4.2 V1.1版
    Silk Icons —— 再来 700 个免费小图标
    解决基于BAE python+bottle开发上的一系列问题
    gae 已死,别整什么反向代理了,用sae吧,还有在线编辑工具
    MDCC为移动开发者服务:一看、一聊、一聚
    Testin_百度百科
    我们的开源项目-暨开源力量公开课年度庆典活动
    Kivy: Crossplatform Framework for NUI
    进京通行证_百度百科
    史丹·温斯坦称傲牛熊市的秘密_百度百科
  • 原文地址:https://www.cnblogs.com/hejunlin/p/13429965.html
Copyright © 2011-2022 走看看