mybatisplus查询逻辑删除
时间: 2023-05-23 11:04:13 浏览: 392
MybatisPlus中的删除和逻辑删除及区别介绍
标记为已删除的数据在 Mybatisplus 中是不会自动查询出来的,需要在查询时手动添加查询条件。
下面是一个示例 Mybatisplus 代码,其中 `@TableLogic` 注解用于标记逻辑删除字段,`eq` 方法用于添加条件:
```java
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {
@Override
public List<User> getUserList() {
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("status", 1).eq("is_deleted", 0); //添加查询条件
List<User> userList = baseMapper.selectList(queryWrapper);
return userList;
}
@Override
public void deleteUser(Long userId) {
User user = new User();
user.setUserId(userId);
user.setIsDeleted(1); //将 is_deleted 字段设置为 1 表示已删除
baseMapper.updateById(user);
}
//...
}
```
注意,`is_deleted` 字段不一定就是这个名字,需要根据实际情况进行调整。
阅读全文