逻辑删除


如果需要对数据进行逻辑删除,可以通过简单的注解实现。

假设数据库表的字段deleted表示是否删除(0否,1是),需要做的只是在对应的实体类里添加@TableLogic注解,该注解将会在查询和删除时自动附带逻辑删除的功能

@TableLogic
private Integer deleted;

这时使用代码生成器自动生成的mapper进行查询或删除时,会是下面的效果:


userMapper.deleteById(1);
删除时 update user set deleted=1 where id =1 and deleted=0
userMapper.selectById(1);
查找时 select * from user where id=1 and deleted=0

如果是手写的xml则需要自己去编写逻辑删除的sql。