Mybatis 到底好在哪?国内大厂也在用?

2020-12-16 15:23:53 +08:00
 ouxch

我司新项目小伙伴们用的 Mybatis,我之前没用过这个,初看他们写的代码和生成的sql,总觉得这玩意儿这么用有些不妥,特来请教下是他们用的方式有问题还是这玩意儿有什么别的黑魔法?

  1. 我看到很多用 mapper 生成的语句都是select *,这严重违反常见规约也严重影响性能吧?
  2. 自定义的mapper xml给我的直观感受还不如格式化后的SQL易读,而且编码效率也不会更高吧?
6207 次点击
所在节点    Java
47 条回复
fpure
2020-12-17 08:40:02 +08:00
表达能力。
我知道许多人喜欢 jpa 的类型安全,但是遇到复杂的查询用 jpa 写不出来的时候你就得抓狂
liuhuan475
2020-12-17 09:47:36 +08:00
@beginor jpa ? mp?
cco
2020-12-17 09:53:41 +08:00
@SuperXRay 确实看到过这种文章,应该是 mysql 升级后做的一些优化,包括 in 之类的操作。
不过我个人没有去用大量的数据去验证,只不过目前看确实没啥影响。
jiao
2020-12-17 13:40:00 +08:00
项目里但凡有一两个复杂 sql 的需求,jpa 就得去各种查文档,代码、sql 语句外加创建视图结合来实现功能。费很大劲实现的需求,对 mp 来说可能真就是一个 select 标签的事。


我不能说 mp 就比 jpa 强大,但有些反人类的 sql 出来了,用 mp 就有种无论什么 sql 我都不怕,不管你是几张表 join 、union 、group,对我来说就一个 select 标签。(也有可能是我 jpa 功夫不到位)
liyhu
2020-12-17 20:25:17 +08:00
日经贴, 爱用不用
hyqCrystal
2020-12-18 16:21:21 +08:00
我想了解 楼主 之前用什么
chaleaochexist
2023-03-07 14:39:12 +08:00
如果不考虑具体语言的话

易用性排名
django orm > peewee > sqlalchemy > sqlc > mybatis

但是 mybatis 确实是很流行我是醉醉的.

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

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

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

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

© 2021 V2EX