MyBatis 框架大家在使用的吗?

2023-04-12 17:00:20 +08:00
 L0L

各位 V 友,大家日常开发中,还有使用 mybatis 的框架的吗?

google 了下,发现流行的框架中基本看不到他的影子,但是在传统行业的工作中,感觉还是用到的很多,来到 v 站问问广大的 v 友日常使用的还算多吗?

16268 次点击
所在节点    Java
138 条回复
EminemW
2023-04-12 20:25:39 +08:00
@kongkongye #11 mybatis 可以在 xml 里面写 IF 判断,方便的很
oneisall8955
2023-04-12 20:32:48 +08:00
@kongkongye 成熟的 orm 框架都支持
luzemin
2023-04-12 20:36:36 +08:00
mybatis +1
beginor
2023-04-12 20:38:28 +08:00
最近实现了个类似 mybatis 功能的后台 api 系统,在数据库存储 xml+sql ,用户可以在线上定义参数,配合编写 xml+sql 来定义 api 🤭
volatileSpark
2023-04-12 20:44:24 +08:00
Google 趋势的数据值得参考,国内目前肯定是 mybatis/mybatis-plus 居多,国外则是 JPA/hibernate 居多。
ychost
2023-04-12 20:52:24 +08:00
@ghost024 大厂也在用 myBatis ,还是很原始的 XML ,mbp 和 JPA 都用的少
ychost
2023-04-12 20:53:25 +08:00
主要是 JAVA 不支持 C# 那样的语法树,不然有 LINQ 就美滋滋了,除了 LINQ 其它 ORM 都一个样
hhjswf
2023-04-12 21:33:02 +08:00
还有其他更好方案吗。我不喜欢用 querywraper ,稍微复杂点就不够直观
KevinBlandy
2023-04-12 21:35:32 +08:00
spring-data-jpa + queryDsl 或者 Jooq 。这种编程式 SQL 太爽了,比 mybatis 这种手写 SQL 不知道高到哪里去了。

顺便推荐一波 spring-data 系列的中文文档。 [https://springdoc.cn/]( https://springdoc.cn/)
k9990009
2023-04-12 23:20:20 +08:00
用 mybatis-plus ,流行的低代码都用这个,很好做前后端的查询封装。刚试用 mybatis-plus-jion 这个联表查询插件
cedoo22
2023-04-12 23:58:59 +08:00
@k9990009 小系统用连表还行,稍微大点的都没法用连表查
si
2023-04-13 00:05:23 +08:00
在用 mybatis-plus
silentsky
2023-04-13 01:00:05 +08:00
就一点 mybatis 写的 SQL 方便查找定位 其他框架 出问题了 你都不好找
potatowish
2023-04-13 01:17:33 +08:00
必须是 mybatis plus
suyabgaran
2023-04-13 01:22:03 +08:00
国内还是 Mybatis 、Mybatis-plus 多。但是我现在都用 JOOQ ,写起来真的很爽,我是挺不喜欢 Mybatis 这一套的。
我看好多人推崇 mybatis-plus ,说基本不用写 sql ,但如果是为了不写 sql 才用 mybatis-plus 那为何不直接用 jooq 呢(疑惑)?
jooq 其实更加容易调试,而且条件判断可以直接用 Java 来搞定,而且不用定义一堆 xxxMapper 和 xml ;
复杂的查询,用视图或者多次查询+后端处理就好了呀。
至于更加复杂的查询,其实用 mybatis 也好不到哪里去吧?
LeegoYih
2023-04-13 01:46:43 +08:00
MyBatis+MyBatis-Plus 组合简直就是屎上加屎 💩²

QueryDSL+Spring Data JPA 联表查、子查询、手写 SQL 都是基本功能,最喜欢的功能是,只需要在 Repo 接口中定义方法, 启动时会自动生成代理对象,太香辣。

PVXLL
2023-04-13 02:12:38 +08:00
mybatis 狗都不用
yuanmomo
2023-04-13 02:39:27 +08:00
@ghost024 17 年某里的时候,用的 mybatis
nnegier
2023-04-13 04:44:30 +08:00
之前用 JPA ,现在回到 MyBatis 了
billccn
2023-04-13 05:11:23 +08:00
老实说 YAML 根本不应该算 Markup Language ,因为它的语法只在行首,字符串里面是没有标记能力的。
像 MyBatis 需要的在 SQL 中间动态插入标签的能力 YAML 无法胜任,硬要用的话还得自己造轮子。

设想这样的 SQL 模板语言要多少行才能写完一个复杂的查询?而且要在从 SQL 工具之间复制已经调好的查询,手工处理量非常大,等于人工做了个 lexer 。

```
- "SELECT"
- if: ...条件...
then: COL1
- "FROM t WHERE rownum <"
- eval: ...表达式...
...
```

XML 就写得很好读:

```
SELECT <if test="条件">COL1</if> FROM t WHERE rownum &lt; #{id}
```

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

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

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

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

© 2021 V2EX