物理删除:直接从数据库删除
逻辑删除:在数据库中没有删除,而是通过一个变量让他失效
- 在数据库中添加字段
deleted
- 在实体类中添加配置属性
@TableLogic
private Integer deleted;
- 配置逻辑删除组件
- 导入拓展依赖
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-extension</artifactId>
<version>3.0.5</version>
</dependency>
- 注册逻辑删除组件
@Bean
public ISqlInjector iSqlInjector(){
return new LogicSqlInjector();
}
- 测试逻辑删除
@Test
void logicDeleteUserById(){
userMapper.deleteById(2l);
}
数据库中记录依然存在,但是值已经发生变化了
- 版本太高会出现异常,需修改pom文件
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.0.5</version>
</dependency>