删除数据(ModelWrapper)
物理删除
ModelWrapper.lambda(AllTypeEntity.class)
.eq(AllTypeEntity::getId, id)
.delete();
逻辑删除(软删除)
如果实体标注了 @ModelLogic,默认的 delete() 会转换为 UPDATE 软删除:
@ModelName("shop_user")
public class User {
// ... 其他字段 ...
@ModelLogic(value = "0", deleteVal = "2")
private String delFlag;
// value="0" → 未删除时的值
// deleteVal="2" → 删除后设置的值
}
软删除的查询默认自动过滤已删除记录,如需包含:
ModelWrapper.lambda(User.class)
.includeSoftDelete()
.select();
注意事项
- 物理删除会直接从数据库移除记录,不可恢复
- 逻辑删除仅更新
@ModelLogic标注的字段 - 使用
delete()前必须通过.eq()等指定删除条件
