逻辑删除
2023/3/15
逻辑删除
物理删除和逻辑删除
物理删除
真实删除,将对应数据从数据库中删除,之后查询不到此条被删除的数据
逻辑删除
假删除,将对应数据中代表是否被删除字段的状态修改为“被删除状态”,之后在数据库中仍旧能看到此条数据记录
使用场景
可以进行数据恢复
如何使用
数据库设置删除标识位
数据库中创建逻辑删除状态列,设置默认值为0

实体类添加@TableLogic注解
实体类中添加逻辑删除属性

测试
测试删除功能,真正执行的是修改
public void testDeleteById(){
int result = userMapper.deleteById(1527472864163348482L);
System.out.println(result > 0 ? "删除成功!" : "删除失败!");
System.out.println("受影响的行数为:" + result);
}
此时执行查询方法,查询的结果为自动添加条件is_deleted=0

