逻辑删除和普通删除都是对数据库中数据进行删除操作,虽然都是删除操作,但它们还是有区别的

普通删除是直接删除数据,而逻辑删除是将该数据标记为已删除普通删除不可恢复,删除就没了,逻辑删除可恢复,通过把标记改为未删除即可逻辑删除更好的保证了数据的安全性和完整性,因为它本身真正的删除,避免了误删,非法删除等操作普通删除可以释放数据空间,而逻辑删除不可释放数据空间,所以需要定期处理

总的来说,逻辑删除和普通删除各有优缺点,选择哪种方式取决于具体的需求和情况。在数据安全性和完整性要求较高的情况下,建议使用逻辑删除;在空间利用率要求较高的情况下,建议使用普通删除。

逻辑删除的步骤也很简单,下面是一个简单案例

1.在数据库表定义一个deleted字段,表示该记录是否已删除,0为删除,1已删除

2.在实体类表中deleted属性上添加@TableLogic注解:

@Data

public class User {

@TableId

private Long id;

private String name;

private Integer age;

@TableLogic

private Integer deleted;

}

3.在配置类上设置逻辑删除项:

mybatis-plus:

global-config:

db-config:

logic-delete-field: deleted#字段名

logic-delete-value: 1 #删除的

logic-not-delete-value: 0 #未删除的

4.调用删除方法后它默认会将删除方法改为修改为 deleted=1,而不是直接删除

在配置类中的属于全局配置,还有一个局部的,比如值将User表的删除改为逻辑删除

@Data

public class User {

@TableId

private Long id;

private String name;

private Integer age;

/**

* 逻辑删除 0(false)未删除,1(true)已删除

*/

@TableLogic(value = "0",delval = "1")

private Integer deleted;

}

参考文章

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: