物理删除和逻辑删除

物理删除:直接在硬盘中删除,彻底删除。
逻辑删除:并没有真正的删除,只是通过添加一个标志位,通过改变标志位的值,来判断数据是否被删除。
MybatisPlus实现逻辑删除:
1.实体类属性加上@TableLogic注解

// 开启逻辑删除
@TableLogic
// 开启自动填充
@TableField(fill = FieldFill.INSERT)
private Integer deleted;

2.加入逻辑删除组件

// 加入逻辑删除组件到容器中
@Bean
public ISqlInjector sqlInjector() {
    return new LogicSqlInjector();
}

效果:当通过id删除某条数据时,在数据库中仅仅改变标志位deleted的值,并没有真正删除数据,然而查询的时候,不会显示被逻辑删除的值。
原理
逻辑删除时执行的sql语句:update table set deleted=1(deleted初始值为0)。
查询时执行的sql语句:select * from table where deleted=0;

相关推荐
©️2020 CSDN 皮肤主题: 游动-白 设计师:白松林 返回首页