MyBatisPlus-删除数据

MyBatisPlus-删除数据

按照主键删除多条记录

List<Long> ids = Arrays.asList(new Long[]{2, 3});
userDao.deleteBatchIds(ids);

逻辑删除

删除操作业务问题:业务数据从数据库中丢弃
逻辑删除:为数据设置是否可用状态字段,删除时设置状态字段为不可用状态,数据留在数据库中。

案例:逻辑删除

  1. 数据库表中添加逻辑删除标记字段

  2. 实体类中添加对应字段,并设定当前字段为逻辑删除标记字段

    public class User {
      private Long id;
      @TableLogic
      private Integer deleted;
    }
    
  3. 配置逻辑删除字面值

    mybatis-plus:
      global-config:
        db-config:
          logic-delete-field: deleted
          logic-delete-value: 1
          logic-not-delete-value: 0
    

    执行SQL语句:UPDATE tbl_user SET deleted=1 WHERE id=? AND deleted=0
    标记被删除的数据将不再参与MP的数据查询,要想查询,要通过自己编写SQL语句进行查询