MyBatis Plus的逻辑删除插件的使用步骤是:
- 添加注解
在需要逻辑删除的字段上添加@TableLogic注解:
@TableLogic
private Integer deleted;
- 配置插件
在mybatis-plus.yaml中配置:
# 启用逻辑删除插件
plugins:
- logicDelete
- 设定逻辑删除值
logic-delete:
deleted-value: 1
un_deleted-value: 0
指定逻辑删除字段的 deleted 值和未删除值。
- 实现逻辑删除
// 删除
userMapper.deleteById(id);
// 根据逻辑删除字段查询
userMapper.selectList(null);
deleteById()会按逻辑删除处理,只修改deleted字段。
selectList()会排除逻辑删除的数据。
- 实现逻辑未删除
user.setDeleted(0);
userMapper.updateById(user);
修改deleted字段为未删除值,实现逻辑未删除。
逻辑删除插件的工作原理是:
- 扫描注解,获取待逻辑删除的字段
- 在删除操作时,将该字段修改为 deleted-value
- 在查询操作时,排除 deleted-value 对应的数据
通过这种方式,实现了逻辑删除的功能。