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

2018-12-16 21:46:31 +08:00
 gz911122
是什么造成的这个现象啊。
而且感觉国内 java 界在 github 上也不是很活跃?
没找到多少有趣的项目 or 工具。
23738 次点击
所在节点    Java
90 条回复
gz911122
2018-12-17 10:44:09 +08:00
@tatelucky 那么倒是解答下为什么产生这样的差异啊?
zpf124
2018-12-17 10:51:17 +08:00
然后我又试着搜了一下 14 年至今的趋势。

全球范围内, 所有的 ORM 相关的内容都是下降趋势的。
可能是因为 java 的热度也在下滑。原因应该是因为 node 引领的 js 的崛起和深度学习引领的 python。


而且值得一提的是,中日韩三国都更偏向 Mybatis。当然日本第一倾向居然是 裸写 JDBC。
zpf124
2018-12-17 10:58:47 +08:00
然后, 中国的搜索趋势就比较诡异了... 图形乱糟糟的像是心电图一样,波动都很大...
不过总体上,14 年底,mybatis 就领先了。

我鼠标 hover 出现的那个详情图挡住了一个重要变化,18 年 9 月的时候所有关键字都是热度降低的,但 mybatis 突然降低了一半左右。
有没有大佬科普一下发生了什么? Google 改变收录算法引起的? 还是国内当时有情况引发的趋势?又或者因为 9 月份开始找工作了,学生党顾不上搜了只剩工作党提供的热度了?

zhyzhy
2018-12-17 11:04:50 +08:00
很好奇大厂的 Hibernate 是怎么用的
真的配置一堆 OneToOne,ManyToMany 吗?
我个人使用都是单表,遇到 join 只能放业务层代码里 join 了
southsala
2018-12-17 11:37:21 +08:00
我也好奇大厂 Hibernate 怎么用的,我也是业务层做逻辑关联,但是遇到过电商项目时配置 OneToOne 之类的,不用自己写关联语句,挺省事的
Lonely
2018-12-17 11:49:02 +08:00
@gz911122 嗯嗯,看到了
xAx
2018-12-17 13:00:39 +08:00
上面这些拿数据说话的,有想过你们列举的数据来源到底对不对吗?

大家上 google\github 十个有九个是开挂上的,九个里面还有八个要保隐私填非真实信息...

就搜索热度来说,统计结果仅能代表:坐飞机的程序员 && 被 google 真实定位。

不坐飞机的程序员 || 没有被 google 真实定位 都被你们当外国人了吗???
zjsxwc
2018-12-17 13:09:09 +08:00
从转 sql 与转 html 来看:

mybatis 类似与 前端 Vue

JPA 类似与 前端 React/Angular
HiJackXD
2018-12-17 13:15:19 +08:00
@xAx 但是并不影响统计比例呀 除非能证明用 mybatis 的选手更大概率翻墙。。
HiJackXD
2018-12-17 13:25:07 +08:00
主要原因还是 hibernate 深入太难,不看看文档一不小心就会掉入性能深坑,比如多字段的数据更新,hibernate 的 update 默认是更新所有字段(无论其他字段有没有变)但其实可以配置好只更新有变化的字段。 但是文档主要是英文,国人大部分看起来肯定没外国人流畅。但 mybatis 都是自控 sql,没多少需要注意的坑。大家就这样觉得 hibernate 性能不行, 其实是自己不会用。。
yhvictor
2018-12-17 13:36:15 +08:00
楼上各位 如果性能不行为啥不上 nosql ?
kevinhwang
2018-12-17 13:39:11 +08:00
其实国内真的大部分是 mybatis,这是工程师素质导致的。
国内工程师英文比较差,较少读 api doc,遇到和 hibernate 和 jpa 的坑就会很无助。
而 mybatis 实现简单,直接查看源代码一步一步 debug 也能找出问题( hibernate 试试看)。
国外的趋势是对的,jpa 提高开发效率非常高。mybatis 和 jpa ( hibernate )都用过。
mybatis 开发慢,且注解方式非常不优雅,属于落后框架,但维护起来真的舒服。
hibernate 真的门槛比较高,若在并表的情况下(互联网很少),开发一时爽,维护火葬场。
个人看法是 hibernate+jdbc。mybatis 真的很落后,都什么年代了还 xml,注解又做不好。
shyangs
2018-12-17 13:43:38 +08:00
我選 JPA 和 React
::doge::
tatelucky
2018-12-17 13:43:48 +08:00
@gz911122 小厂无庸置疑,选择现成的轮子比价划算,市面上常用技术你得会,mysql+mybatis 目前成了大多小公司的标配,无论招人还是立项,这个是最节约成本的,好找人,会的人多,资料好找。大厂,能自研,自己也不会对你公开,你觉得用得少或者觉得,往往是第一感觉。学习他框架的核心,为所用,适合自己才是重点
whx20202
2018-12-17 14:28:57 +08:00
我觉得 jooq 还是挺好用的,只要你玩法不是特别的骚。
另外 springboot 也有了 jooq-starter
adsun
2018-12-17 14:47:14 +08:00
@daimazha querydsl 了解下
xAx
2018-12-17 14:47:26 +08:00
@HiJackXD 光看比例这话倒也没错。
--------------------------------------

不过,Mybatis 才是王道. hibernate 才是过时框架。
JPA 这玩意,好不好用完全看对应的业务需求。多表查询完全反人类。

Mybatis 通过自定义 LanguageDriver+注解的方式,不要太高效。
各种单表、连表、搜索都可以注解带个条件就搞定。

套用 hibernate 选手常用的一句话“说 hibernate 性能低是因为你不会”----“说 mbatis 开发效率低是因为你不会自定义 LanguageDriver ”
BeFun
2018-12-17 14:54:28 +08:00
我之前小公司,自己做技术选型的时候用的就是 jpa,真的好用。现在换了比较大的公司,公司线上项目,还有基础项目都是 mybatis 的,你只能用,然后想推荐 JPA,然后老员工就会反对
我觉的有差别,主要还是在国情上吧
dbpe
2018-12-17 15:02:52 +08:00
JPA+QueryDSL 挺不错的
xpresslink
2018-12-17 15:27:37 +08:00
我觉得楼主没有调研过所以才这么说吧。
阿里巴巴连任 Java 全球管理组织席位,
2017 年度开源贡献榜 国内阿里排第一,世界第 9
这个两条新闻说明什么?

另外有一点说一下,在阿里 mysql 的使用有规定,禁止使用外键,存储过程、触发器、函数、视图、事件等 MySQL 高级功能 。

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

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

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

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

© 2021 V2EX