MybatisPlus逻辑删除
现在有两张表,一个是员工表,一个是销售表。
现在如果我们要删除员工编号为1的员工,那么销售表的数据也会被删除掉,那么如果我们现在做销售合计计算的时候,员工编号为1的销售金额就没有了,这是不行的。

那么该怎么做呢?加上一个deleted字段来标记删除,1代表要删除的数据,0代表不是删除的数据,但不是真的就删除了,只是标记了而已。
具体实现
首先在表中建立一个deleted字段,默认值设为0
然后在实体类中加上deleted字段并加上逻辑删除注解@TableLogic它有两个属性delval代表删除的值,value代表默认值。
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Book {
@TableId(value = "id")
private Integer id;
private String type;
private String description;
@TableLogic(value = "0",delval = "1")
private Integer deleted;
}
这也是可以验证的,假如我们根据id条件查询某条数据,可以看到控制台输出的话,mybatisplus给它做了个and连接操作,查找deleted默认值为0满足条件的数据。
如果不想要后面的and可以去手写去掉。

删除的话也不是真正的删除,其实就是做了个更新的操作,满足条件的id那条数据的deleted的0设置为了1。


也可以全局配置它的逻辑删除



浙公网安备 33010602011771号