iiicarus
V2EX  ›  问与答

mybatis <delete> 标签写 update 语句,会造成什么影响?

  •  
  •   iiicarus · Sep 25, 2019 · 3737 views
    This topic created in 2449 days ago, the information mentioned may be changed or developed.
    <update id="deleteDeptById" parametertype="Long"> update sys_dept set del_flag = '2' where dept_id = 100 </update>

    类似上面这样,会不会造成 dept_id = 100 这条数据从表中被删除,而不是更新 del_flag 字段?

    也百度过,没找到有实际解释的。

    9 replies    2019-09-25 22:16:50 +08:00
    iiicarus
        1
    iiicarus  
    OP
       Sep 25, 2019
    求大佬解答
    xwbz2018
        2
    xwbz2018  
       Sep 25, 2019
    我怎么看不到<delete> 标签了
    zcmxw1
        3
    zcmxw1  
       Sep 25, 2019
    这种跟 ++i+i+++++i 等一样无聊
    iiicarus
        4
    iiicarus  
    OP
       Sep 25, 2019
    @zcmxw1 因为部门有人这样写了代码,明明逻辑删除,最后数据库找不到数据,又不能知道是否是操作数据库直接删除的,所以有此一问。事出有因
    zcmxw1
        5
    zcmxw1  
       Sep 25, 2019
    那你可以自己测试一下。
    xwbz2018
        6
    xwbz2018  
       Sep 25, 2019
    刚试了下,并没有,打印的还是这个 sql,走的方法是 update,没有 delete 方法

    你可以在 org.apache.ibatis.executor.BaseExecutor#update 处打个断点看看
    zhaishunqi
        7
    zhaishunqi  
       Sep 25, 2019
    它只是帮你翻译脚本.能出现什么后果,自己试试就行了.
    fmumu
        8
    fmumu  
       Sep 25, 2019 via Android
    标签就是标签,执行什么还看标签内的内容,这就和 html 的语义化一样的
    ylls
        9
    ylls  
       Sep 25, 2019
    没啥影响
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5447 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 09:03 · PVG 17:03 · LAX 02:03 · JFK 05:03
    ♥ Do have faith in what you're doing.