为什么感觉国内比较流行的 mybatis 在国外好像没人用的样子?

2018-12-16 21:46:31 +08:00
 gz911122
是什么造成的这个现象啊。
而且感觉国内 java 界在 github 上也不是很活跃?
没找到多少有趣的项目 or 工具。
24190 次点击
所在节点    Java
90 条回复
gz911122
2018-12-16 21:47:28 +08:00
问了几个朋友都表示不会使用除 spring 这种知名框架外的开源项目。
理由的后端要负责。。
但是也没见 nodeJs 之类的这么保守啊
Mogugugugu
2018-12-16 21:53:04 +08:00
Java 混了这么多年不就是保守么。。。虽然也有创新,但是企业开发,用了什么新框架,小众框架,要重新踩坑不说,开发人员离职了谁来扛旗谁来接锅,这也就是为啥企业喜欢成熟的大众化的,开发效率 性能固然重要,但是还是要看长远的。
Mogugugugu
2018-12-16 21:57:23 +08:00
mybatis 没人用?用啥? jpa ? hibernate ?还是那个 jooq ?可选择性也不多,Spring 全家桶就爱选 jpa,简单点可能会选 mybatis,入门简单,维护简单,坑也被踩得差不多了,hibernate 太重, 入门要求太高,用精了更难,新人来了不好接锅。。。
gz911122
2018-12-16 22:00:49 +08:00
gz911122
2018-12-16 22:01:49 +08:00
@Mogugugugu
说的这些原因都能理解
就是不能理解的是为啥国内外差别这么大
国内 mybatis 几乎是首选,而国外完全没人用 几乎
ericls
2018-12-16 22:08:46 +08:00
@gz911122 因为国内有自己的圈子 当一个圈子人数够多的时候 是不需要接入其他圈子的
Sharuru
2018-12-16 22:11:22 +08:00
国内技术圈流行的东西和国外是有一定代差的。

就拿 Spring Boot 来说,注解配置都出来多久了,国内现在起手还是一个 xml 教你配置。
一方面语言是一种因素,另一方面我觉得百度上能搜到的教程都是屎;导致整体水准上不去。

其实 Hibernate 现在配合 Spring Data 足够易用了,简单需求可以只靠方法名就生成一堆搜索。

(然而之前还有帖子在说 ORM 是毒瘤,raw sql 才是王道。)

楼主既然眼界宽了一点,也就没必要自扰,喜欢一个用就完事儿了。
echo1937
2018-12-16 22:15:13 +08:00
和 pivital 工程师聊过这个问题,对方的回答是,国内很喜欢手写 sql,尤其是复杂的 sql,在这点上老外这个需求就少很多。

进一步询问,这些 sql 都是干啥的,p 厂的调研结果是,给领导提供数据啊报表之类的需求多,业务需求相关其实少。
HuHui
2018-12-16 22:17:28 +08:00
业务复杂度决定的吧
gz911122
2018-12-16 22:23:48 +08:00
@ericls 有可能
感觉国内 web 前端是国内外交流还挺丰富的
android 也还好
gz911122
2018-12-16 22:24:38 +08:00
@ericls 求问国内的圈子在哪哎 没找到啊。。 开源中国嘛?
alcarl
2018-12-16 22:27:14 +08:00
国外的 java 历史比咱要早个十几年,遗留的东西和人也多,自然对新东西接受的就少一些。中国是从 2005 年左右起,互联网浪潮才开始有大规模的 java 开发,甚至到 2010 年以后才有大批量的新人入行,it 这行是什么新用什么是自然的。其实很久以前国内招 java 的基本全是要熟练 ssh 的,不过最近这些年 struts 基本没人用了,还经常出些大漏洞。hibernate 和 mybatis 相比要写很多框架需要的冗余代码,写小项目的效率不行,不适合雨后春笋般的互联网企业,spring boot 也是为了简化提高搭建效率而生的,很快就流行起来了。
从主观上说到底其实就一个原因码农天生的懒,懒癌晚期患者。。。。。。。
gz911122
2018-12-16 22:31:28 +08:00
@alcarl 我的意思是国外比较新 感觉要新 3 年左右
daimazha
2018-12-16 22:31:49 +08:00
楼主还是眼界放宽点吧。
Mybatis 在国外好像没人用? 楼主统计过吗? Mybatis 一直很保持更新,而且 commiter 大部分还都是外国人吧。
国内 Java 界在 GitHub 上不活跃? 看看 trending 吧, 可能一半都是国内开发者的项目。
CallMeReznov
2018-12-16 22:33:06 +08:00
@echo1937 有没有专门整合这种临时需求的报表工具或者方式
领导,或者运营,产品总是对后端数据展示这块设计需求不重视,产品都上线了还是让运维到线上数据库查,查完就拉倒也不跟开发说要加个类似的参数展示.过几天又想看那就又查.
就不能搞个什么东西给他们 让他们自己查,最好还有一定的自定义的空间
alcarl
2018-12-16 22:39:59 +08:00
@gz911122 英语的原因最新的东西都是国外先用,但并没有看起来那么多人用
sagaxu
2018-12-16 22:50:05 +08:00
db 访问分为这么几种
1. 写 sql,各个 db 差异要自己适配
2. 写 dsl,屏蔽了 db 差异,自动适配
3. 运行时或编译时自动合成 sql,屏蔽 db 差异

mybatis 和 jdbc 是第一种,hql 是第二种,jpa 是第三种,开发效率依次递增,表达能力依次递减。在我看来,mybatis 已经是过去式了,jpa 可以满足 80%以上的需求了,少数交给 hql,极少数直接走 jdbc(temple)。
Narcissu5
2018-12-16 23:24:42 +08:00
我觉得还是数据集的原因吧,中国市场太大了,动不动就是百万千万日活的,超过大多数外国全国人口,数据上去了,对手写 sql 的需求就强烈了。面对大数据集的时候基本要求就是每条查询都要有索引,JPA 生成的那坨屎就用不上了
VEEX6
2018-12-16 23:40:50 +08:00
前不久我的团队就在用。。。虽然觉得有点土
MoHen9
2018-12-16 23:47:36 +08:00
我同事喜欢用 JdbcTemplate,几乎不用 mybatis,而我喜欢 mybatis 和 jpa,我觉得觉得 mybatis 好用,又是 orm 框架,使用好不用担心 SQL 注入和 null 值等情况,而他们觉得 orm 需要对应实体类,没有原生 SQL 灵活,想怎么拼就怎么拼。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/518087

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX