本文共 1735 字,大约阅读时间需要 5 分钟。
逻辑删除的意思就是只是在逻辑上删除了,在数据库里它还是存在的只是被打上了删除标记。
步骤1: 引入Mybatis Plus 3.3.0 的依赖
com.baomidou mybatis-plus-boot-starter com.baomidou mybatis-plus-extension
步骤2:逻辑删除配置
# mybatismybatis-plus: type-aliases-package: com.hieasy.erp.domain mapper-locations: classpath:mappers/**/*.xml global-config: #0:"数据库ID自增", 1:"用户输入ID",2:"全局唯一ID (数字类型唯一ID)", 3:"全局唯一ID UUID"; id-type: 0 #字段策略 0:"忽略判断",1:"非 NULL 判断"),2:"非空判断" field-strategy: 0 #驼峰下划线转换 db-column-underline: true #刷新mapper 调试神器 refresh-mapper: true #数据库大写下划线转换 #capital-mode: true #逻辑删除配置 db-config: logic-delete-field: delFlag logic-delete-value: 1 logic-not-delete-value: 0
步骤3:实体类
@Data@TableName("erp_yuangong")public class Yuangong { @TableId(type = IdType.AUTO) private Long ygId; //ID private Long tenantId; //租户ID @ApiModelProperty(required = true) private String ygdm; //代码 @ApiModelProperty(required = true) private String ygmc; //名称 private String ygpym; //拼音码 private String birthday; //生日 private String telephone; //电话 private String address; //地址 private String remark; //备注 @TableLogic private Integer delFlag;}
步骤4:删除操作
@Override public int deleteByIds(String ids) { return ygMapper.deleteBatchIds(MyStrUtil.strToLongArr(ids)); }
逻辑删除配置后,实际执行的是更新操作
UPDATE erp_yuangong SET del_flag=1 WHERE yg_id=? AND del_flag=0
查询的时候会自动添加上 del_flag = ?这个条件
SELECT * FROM erp_yuangong WHERE yg_id=? AND del_flag=0
验证下结果:
将 del_flag 改成0之后再查询的结果
转载地址:http://ojnab.baihongyu.com/