V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
lihongjie0209
V2EX  ›  Java

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

  •  
  •   lihongjie0209 · 2019-03-08 19:30:25 +08:00 · 2190 次点击
    这是一个创建于 2082 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

    我也觉得应该使用代码维护业务逻辑。
    wlfeng
        4
    wlfeng  
       2019-04-09 15:04:44 +08:00
    根据场景,怎么方便怎么来
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3995 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 05:16 · PVG 13:16 · LAX 21:16 · JFK 00:16
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.