MyBatis-Plus入门三:逻辑删除与查询中排除删除标识字段

一、逻辑删除实现
当有些数据删除后,不需要将其在数据库中删掉,而仅仅是添加一个字段deleted来作为删除标识;
1.在application.yml文件中添加

mybatis-plus:
`global-config:
    db-config:
      logic-not-delete-value: 0 //代表逻辑未删除
      logic-delete-value: 1` //标识逻辑已删除

2.在实体类字段中添加注解

 //逻辑删除标识,0未删除,1已删除
    @TableLogic
    private Integer deleted;

3.测试

@Test
    public void deletedById(){
        int row = userMapper.deleteById(1111133333);
        System.out.println("影响行数 = "+row);
    }

在这里插入图片描述
MyBatis-Plus入门三:逻辑删除与查询中排除删除标识字段_第1张图片
可以看到,员工1并未在数据库中删除,只是标记为1已删除而且查询的时候也不会被查出;
二、查询中排除删除标识字段
查询的时有时候不需要显示deleted字段,查询语句中后面会带上作为条件的deleted;所以需要将其去掉
1.在实体类中的字段中添加注解

    //查询的时候不显示该字段
    @TableField(select = false)
    private Integer deleted;

MyBatis-Plus入门三:逻辑删除与查询中排除删除标识字段_第2张图片
从查询语句可以看出,deleted仅是出现在了where条件中;

你可能感兴趣的:(mybatis-plus)