逻辑删除:数据库中的数据没有删除。但是在展示的时候、不会显示删除的数据。
物理删除:数据库中的数据删除。
一. 项目环境
与下方链接项目环境一致
二. 数据库表中添加字段
在相应表中添加isDeleted字段,类型设为tinyint
三. 修改pojo类
在pojo类中添加对应字段及注解
@ApiModelProperty(value = "逻辑删除 1(true)已删除, 0(false)未删除")
@TableLogic
private Integer isDeleted;
四. 测试
如图,测试前表中数据都默认显示未进行逻辑删除(isDeleted为0)
@ApiOperation("删除项目")
@DeleteMapping("/remove/{id}")
public void removeProjectWrite(@PathVariable String id) {
projectService.removeById(id);
}
逻辑删除id为2,3的数据
此时表中,id为2,3的数据字段isDeleted显示为1,但是数据本身并未从表中删除
进行查询
@ApiOperation("查询项目")
@GetMapping("/select")
public List<Project> selectProjectWrite() {
return projectService.list();
}
此时查询不到id为2,3的数据