mybatisplus如何进行逻辑删除查询
时间: 2023-09-07 20:13:16 浏览: 83
Mybatis-Plus提供了逻辑删除的支持,使用逻辑删除后,删除的数据不会真正的删除,在数据库中只是将该条数据的状态标记为已删除。这样可以在需要时恢复数据。
要进行逻辑删除查询,可以在查询条件中添加逻辑删除字段的条件。比如,假设你的逻辑删除字段名为`deleted`,值为`1`表示已删除,那么可以通过以下代码实现逻辑删除查询:
```java
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("deleted", 0); // 查询未删除的数据
List<User> userList = userMapper.selectList(queryWrapper);
```
在上面的代码中,使用了`QueryWrapper`来构造查询条件,通过`eq`方法添加了`deleted=0`的条件,即查询未删除的数据。
如果你使用的是Mybatis-Plus的`BaseMapper`中的方法,也可以在方法名中添加`Logic`关键字实现逻辑删除查询。比如,`selectList`方法对应的逻辑删除查询方法名为`selectLogicList`。同样,如果你的逻辑删除字段名不是`deleted`,可以在方法名中添加该字段名。比如,如果逻辑删除字段名为`is_deleted`,则对应的方法名为`selectIsDeletedList`。
```java
List<User> userList = userMapper.selectLogicList(new QueryWrapper<User>().eq("user_type", 1));
```
在上面的代码中,使用了`selectLogicList`方法进行逻辑删除查询,通过`eq`方法添加了`user_type=1`的条件,即查询用户类型为1的未删除的数据。
阅读全文