Mybatis 中的 SQL 模板会不会导致部分业务逻辑分散的 SQL 文件中?

2019-03-08 19:30:25 +08:00
 lihongjie0209

刚刚看到一段 Mybatis 的 mapper 文件,如果这么写代码,那么检查 BUG 的时候是不是需要检查 Java 代码以及 SQL mapper 文件两个地方?

https://gist.github.com/lihongjie0209/eb3c53cc504b10746fe5171a5ccb28b1

2084 次点击
所在节点    Java
4 条回复
raphael008
2019-03-08 20:24:50 +08:00
这时候一个经典的问题就来了,业务逻辑是用代码处理好呢还是用 SQL 处理好呢。通常我选择将业务逻辑拆成一个个模块化 SQL,通过传入参数返回结果,SQL 中处理计算细节,代码里处理业务逻辑。

也有人是把所有业务逻辑全写 SQL 里,然后直接调用无返回结果,个人感觉这样后期维护简直是噩梦,反复权衡之后用了上面提到的那种做法。
gejun123456
2019-03-08 20:33:19 +08:00
完全可以把业务逻辑写在 java 代码里面 mybatis 的 sql 能少做逻辑就少做
lihongjie0209
2019-03-09 09:13:22 +08:00
@raphael008
@gejun123456

我也觉得应该使用代码维护业务逻辑。
wlfeng
2019-04-09 15:04:44 +08:00
根据场景,怎么方便怎么来

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

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

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

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

© 2021 V2EX