1.物理删除和逻辑删除
(1)物理删除:真实删除,将对应数据从数据库中删除,之后查询不到此条被删除的数据
(2)逻辑删除:假删除,将对应数据中代表是否被删除字段状态修改为“被删除状态”,之后在数据库中仍旧能看到此条数据的记录
2.逻辑删除的使用场景
(1)可以进行数据恢复
(2)有关联数据,不便删除
3.使用规则
3.1在数据库中添加is_deleted字段
注意:数据类型tinyint相当于java中的Boolean
3.2 修改实体类的属性
(1)在实体类的逻辑删除属性上添加@TableLogic注解
@TableLogic
private Boolean isDeleted;
(2)配置逻辑删除插件
@Configuration
public class EduConfig {
// 逻辑删除插件
@Bean
public ISqlInjector sqlInjector() {
return new LogicSqlInjector();
}
4.注意事项
(1)mybatisplus的默认逻辑删除值为1,不删除值为0
(2)可以在配置文件中进行修改为你所需要的值
#逻辑删除值为2
mybatis-plus.global-config.db-config.logic-delete-value=2
#不删除为0
mybatis-plus.global-config.db-config.logic-not-delete-value=0