MybatisPlus_删除数据(含逻辑删除)
一.逻辑删除(需要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); } }