MyBatisPlus中开启了逻辑删除则更新逻辑字段不再管用

场景

MyBatisPlus中全局Sql注入器应用_逻辑删除使用MyBatisPlus中全局Sql注入器应用_逻辑删除使用:

https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/89644306

这里使用isDelete作为逻辑删除的字段。

在业务中需要进行对isDelete这个字段进行更新。

实现

断点查看,更改之前为false

MyBatisPlus中开启了逻辑删除则更新逻辑字段不再管用_第1张图片

对其进行赋值,设置为true

MyBatisPlus中开启了逻辑删除则更新逻辑字段不再管用_第2张图片

使用update进行更新,却不起作用并没有进行更新。

MyBatisPlus中开启了逻辑删除则更新逻辑字段不再管用_第3张图片

实际执行的sql语句为:

UPDATE sys_enterprise_org
SET pid = 6,
num = 'cj003',
text = '正极车间',
icon = 'fa fa-sitemap',
org_classify = 4,
opened = 1,
disabled = 0,
selected = 0,
sort_num = 1,
gmt_creat = '2018-12-20 22:25:02.0',
gmt_modified = '2019-06-06 09:38:16.723',
creator = 1,
modifier = 1,
remark = '大数据部经理',
is_top_level = 0
WHERE
 id = 9
 AND is_delete = 0;

总结

1.MP配置了逻辑删除后,执行delete相关方法后会实际执行update方法,将逻辑删除的字段进行更改。

2.但是如果想使用update相关方法将此逻辑字段进行更新则是不可以的。

3.逻辑删除是为了方便数据恢复和保护数据本身价值的一种方案,但是实际意义也是删除,如果想再将其恢复则不应该使用逻辑删除。

你可能感兴趣的:(MyBatisPlus)