0
点赞
收藏
分享

微信扫一扫

MybatisPlus中的逻辑删除

1:给数据库的属性上添加一个字段作为是否删除的标志
在这里插入图片描述
2:修改相应的实体类,添加@TableLogic注解,指定删除和未删除的标志

package com.dongmu.mybatisplus.pojo;

import com.baomidou.mybatisplus.annotation.*;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Date;

@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {
    @TableId(type = IdType.AUTO)
    private Long id;
    private String name;
    private Integer age;
    private String email;

    @Version
    private Integer version;

    @TableField(fill = FieldFill.INSERT)
    private Date create_time;

    @TableField(fill = FieldFill.UPDATE)
    private Date update_time;


    @TableLogic(value = "0",delval = "1")
    //0代表未删除,1代表删除了
    private Integer deleted;
}


测试:
在这里插入图片描述
可以发现他实际上执行的是DML(数据库操纵语句)语句,只是修改了是否删除这个属性的值,即deleted这个字段的值。并没有真正删除数据。

这个时候我们执行查询,也不会查询到已经被逻辑删除的数据:
在这里插入图片描述

举报

相关推荐

0 条评论