一.逻辑删除(需要deleted字段,初始值为0)
实现方式一:注解
在实体类中为表示逻辑删除的字段加上@TableLogic注解即可
@TableLogic
private int deleted;
实现方式二:配置文件
global-config:
db-config:
logic-delete-field: deleted # 全局逻辑删除的实体字段名(since 3.3.0,配置后可以忽略在实体类字段上添加@TableLogic注解)(但二者必须有其一)
logic-delete-value: 1 # 逻辑已删除值(默认为 1)
logic-not-delete-value: 0 # 逻辑未删除值(默认为 0)
运行效果
对id=4与id=5的数据进行删除,可以看到在数据库中二者并未被删除,而是将deleted字段转为了"1"
尝试进行查询,可以看到仅可查询到前三条数据
二.常规删除语句
//删除
@Test
void deleteById(){
userMapper.deleteById(4);
}
@Test
void deleteByBatchIds(){
userMapper.deleteBatchIds(Arrays.asList(5,6,7));
}
@Test
void deleteByMap(){
HashMap<String, Object> map = new HashMap<>();
map.put("name","one");
userMapper.deleteByMap(map);
}
}