Mybatis-plus配置逻辑删除
Mybatis-plus配置逻辑删除
全局生效的逻辑删除配置
mybatis-plus:
global-config:
db-config:
# 全局逻辑删除配置
logic-delete-field: valid # 全局逻辑删除的实体字段名
# 若逻辑已删除和未删除的值和默认值一样,则可以不配置这2项
logic-delete-value: 0 # 逻辑已删除值(默认为1)
logic-not-delete-value: 1 # 逻辑未删除值(默认为0)
针对某个实体类做逻辑删除处理
@TableField(value = "valid", select = false)
@TableLogic(value = "1", delval = "0")
private Boolean valid;
开启逻辑删除对SQL的影响
INSERT语句:没有影响
SELECT语句:追加WHERE条件,过滤掉已删除的数据
UPDATE语句:追加WHERE条件,防止更新到已删除的数据
DELETE语句:转变为UPDATE语句
注意:注解式自定义SQL可能不会生效(例如: @Select("select * from user"))