重新定义 Mybatis 动态 SQL,新模式下不再推荐 XML 了

2018-02-07 20:54:41 +08:00
 olOwOlo

快速了解这是什么:


这是一个新库的说,至少:

MyBatis Generator (>= 1.3.6) 也已经提供支持,只需要将 context 的 targetRuntime 属性更改为 MyBatis3DynamicSQL 即可生成新的动态 SQL。

<generatorConfiguration>
  ...
  <context ... targetRuntime="MyBatis3DynamicSQL" ...>
    ...
  </context>
</generatorConfiguration>

该模式下不再生成 XML,不再生成 Example 类。文档里也推荐:join 操作要用到的 resultMap 应该是 XML 文件中的唯一元素。

话说个人还是挺偏好 XML 的 ╮( ̄▽ ̄)╭ ,不知道各位老司机怎么看?


写了一篇文章简单介绍一下基本的使用 Mybatis Dynamic SQL - 重新定义 Mybatis 动态 SQL (〃ノωノ)

7581 次点击
所在节点    Java
25 条回复
Cbdy
2018-02-07 21:05:28 +08:00
这不是。。jooq 吗
xiaoyangsa
2018-02-07 21:30:05 +08:00
咋整,用了国产的了~~
复杂的宁愿丢 xml 里。简单的这样搞搞差不多
nita22
2018-02-07 21:36:14 +08:00
XML 里面直接写 SQL 语句才是最直观的吧,用这个动态 SQL 反而使得 SQL 语句跟业务代码糅杂起来了
jorneyr
2018-02-07 21:36:33 +08:00
写了这么多,有 SQL 清晰么
l00t
2018-02-07 21:43:14 +08:00
改成这样有什么好处吗?
iyaozhen
2018-02-07 22:04:09 +08:00
一直不喜欢.where 这种写法,业务稍微复杂点就懵逼了。一个多月不写就忘了。还是 sql 直接
kran
2018-02-07 22:04:22 +08:00
好处是类型安全吧
Rickkkkkkk
2018-02-07 22:13:14 +08:00
sql 还绑在代码里不恶心吗

xml 多简洁
lonenol
2018-02-07 23:00:27 +08:00
...那还不如用 JPA...
yejinmo
2018-02-07 23:04:50 +08:00
折腾来折腾去本质不还是 sql 么。。真是搞不懂非要简单问题复杂化
lhx2008
2018-02-07 23:15:55 +08:00
挺好的,但是关联查询,自动装配好像都没有
iyangyuan
2018-02-08 08:54:50 +08:00
这样不仅损失性能,也增加了复杂 sql 维护难度,又徒增了学习成本
NullException
2018-02-08 10:06:26 +08:00
@iyangyuan 看到他那种用法让我想起 myBatis Plus,写写简单的 sql 还可以,复杂的还是自己来
CtrlSpace
2018-02-08 10:26:30 +08:00
Android 转 Java 的觉得,xml 真是很难看,不如代码。
CtrlSpace
2018-02-08 10:30:27 +08:00
喜欢 xml 的只是习惯了 xml,对于没接触过的人来说,代码(或许)是最舒服的。
bobuick
2018-02-08 11:13:34 +08:00
我猜,因为喜欢封装。
itll
2018-02-08 11:35:35 +08:00
就是不习惯 jpa 才用 Mybatis,还是直接 sql 方便
0Kelvin
2018-02-08 14:36:08 +08:00
emmm. Java 的一套怎么感觉在慢慢的向 C#靠近呢。
olOwOlo
2018-02-08 16:21:00 +08:00
(〃ノωノ) 感觉不怎么受欢迎的样子呢~~
olOwOlo
2018-02-08 16:21:59 +08:00
@Cbdy #1 请教了一下 Google 老师,发现你说的这个成熟多了。。

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

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

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

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

© 2021 V2EX