各位 V 友,大家日常开发中,还有使用 mybatis 的框架的吗?
google 了下,发现流行的框架中基本看不到他的影子,但是在传统行业的工作中,感觉还是用到的很多,来到 v 站问问广大的 v 友日常使用的还算多吗?
101
zjsxwc Apr 13, 2023
@billccn
yaml 是 json 的超集,完全兼容 json , 君不见那么多给予 json 的 orm , 用 yaml 做 orm 就更不在话下了, 比如 python 的 mlalchemy 就是 yaml https://pypi.org/project/mlalchemy/ |
103
RainCats Apr 13, 2023
mybatis-plus 很舒服,简单 SQL 直接条件构造就完事了,复杂 SQL 丢 XML 里,谁来都能维护,甚至不需要懂 Java
|
104
dbpe Apr 13, 2023 ebean 因为有 oracle 的需求..导致上不了 jooq..复杂查询在用 mybatis...(如果升到了 17...mybatis 我准备去掉他
|
105
BenX Apr 13, 2023
Java 圈毒瘤
|
106
Leviathann Apr 13, 2023
@lanlanye mybatis 所谓的新,和 go ( goroutine 以外的部分)所谓的新是一个意思
|
107
yifeng33 Apr 13, 2023
前司某里用的 mybatis ,现在用的 jpa 。感觉写复杂查询 jpa 比较累人,比如多表联查
|
109
wenyuan5 Apr 13, 2023
|
110
cheng6563 Apr 13, 2023
Java 语言本身的表达能力本来就一坨,SQL 也是个极为拧巴的语言。用“Java 代码自动转 SQL”的方式来操作数据库有多别扭可想而知。
最好的方法还是自己处理好 SQL 喂给数据库,所以需要一个对 SQL 优化的模板引擎,那就是 Mybatis(-plus)了。当然,Mybatis 同类更优雅的库也有,但也拉不开大差距,而且 Mybatis(-plus)用的多好招人,那就选 Mybatis(-plus)咯。 |
111
shyangs Apr 13, 2023 @Richared
Spring Data JPA 是商業公司出的項目。我相信 Spring 的眼光。一些玩具項目,像阿里巴巴的 Fastjson 吹上天,Spring 也只會內建 Jackson ,不會推薦玩具項目的。 |
112
lanlanye Apr 13, 2023
@xiaocaiji111 #98 ORM 一般会提供只生成 SQL 不实际执行的功能,以供人在关键的地方编写测试来确保生成的 SQL 是正确的。不过这样的话就和手写 SQL 没什么区别了,所以如果追求每个 SQL 都测的话用 ORM 就没什么特别的优势,反过来说,不需要每个都测时它挺有用的。
|
114
astkaasa Apr 13, 2023
spring data jdbc 很好用, 可以复用老代码的 xml
|
117
dog82 Apr 13, 2023
在 hibernate 里写 hql 就是脱裤子放屁,不如直接 sql 梭哈
|
118
witcherhope Apr 13, 2023
@Huelse #113 但是相比 Mybatis 这种 Raw SQL ,即使没接触过框架,应该也能立马理解上手,这也算事优势吧,低协作成本;再者 SQL 本身就是面向过程的思想,强行用 Java 的 OOP 硬套就显得有点拧巴。
|
119
zhengzhongzhao Apr 13, 2023
@zero47 最讨厌 sql 了,您的意思是?
|
120
outerws Apr 14, 2023
楼上一个个都在脱裤子放屁,成熟的大并发服务下为什么阿里京东采用 mybatis ?因为它能撑得住流量经得住考验是成熟架构技术,一堆技术哪个不能开发业务逻辑?又有哪几个能支撑得住业务流量?不考虑流量我都按 10 并发来做还搞什么技术啊?一个数据库打遍天下得了
|
121
e7 Apr 14, 2023
不要以为大厂会紧跟新技术,稳定才是第一位的
|
122
MonkeyCoder Apr 14, 2023
mybatis plus 用代码生成直接把 xml 的 CRUD 就搞定了有什么麻烦,剩下复杂的多条件查询和多表联查这些操作搭配 mybatis coder helper 插件很方便啊.不习惯把 sql 写到代码里
|
123
Aresxue Apr 14, 2023
mybatis plus 做二开,java 对于 sql 这块目前没看到很好的管理方式,orm 框架在中型系统里面就开始捉襟见肘了,真的使用下来说实话用 xml 维护 sql 竟然还是目前综合性最好的方式( xml 的描述能力真的很强大),只是说 xml 在可读性上真的不好,针对这一点可以自己用别的协议重写这一部分,但 mybatis 本身也足够简洁了建议换个皮就行了,从 XXX.xml 换成 XXX.sql 把原先 xml 中的信息冗余消灭一下,但 xml 中绝大多数内容还是 sql 本身所以可优化的空间也很有限。sql 目前在编程语言里最好的实践感觉是 linq ,但 jvm 不支持动态编译函数所以没法抄作业。
|
126
chiyagao Apr 14, 2023
看完后大家的评论,我感觉我是低级程序员。。。
|
129
PVXLL Apr 17, 2023 via iPhone
@Richared 像你这种菜鸡 onetomany manytoone 都搞不懂的菜鸡不配和我讨论,乖乖面向你的 sql 编程,别出来丢人了
|
130
leatomic Apr 18, 2023
@Richared 其实你大可直接一点,说说什么业务才不算你们口中的 demo 项目的,然后贴具体涉及的实体(关系描述就行),以及需要搞定的需求。包括你要吐槽的点,是实现不了,还是按你们的理解只能如何实现怎么个麻烦法,还是怎么个不优雅法。
|
131
Cruzz Apr 19, 2023
@leatomic 我说的很明白了,就很简单一对多。我有 10 个数据源,每个数据源有 100 张表。每张表平均 10 个字段,实体有数据源,表元数据,字段信息。我 selectby 数据源 id 。
|
134
leatomic Apr 20, 2023
@Richared 这是你的需求是吧,那你要吐槽的点呢?是无法实现只提取必要的属性节点的吧?
如果是。把查询和命令区分开来,这种查询使用 EntityGraph 应该能解决才对,能说说怎么无法实现你的点在哪吗?当然实际开发中会使用 Spring ,结合其提供的 @EntityGraph 使用更方便; 鉴于你的查询条件单纯用 ById ,像 CriteriaQuery 、结合 QueryDSL 就没必要提了,如果不要求将结果组装成实体类型的,要返回 Projection 的话,无论 JPA(Hibernate)还是 Spring 也都有提供相关的支持的。 |
135
bthulu Apr 23, 2023
@suyabgaran 我司全是 oracle, 也有免费的 jooq 用么
|
137
Cruzz Apr 25, 2023
|