在使用MyBatis-Plus时,如果你想要在调用getOne
方法获取实体时,如果查询结果为null
,则自动过滤掉某些条件,你可以使用lambdaQuery
的链式调用结合条件构造器如Wrapper
的eq
方法来构建条件。
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
public class UserService extends ServiceImpl<UserMapper, User> implements IService<User> {
public User getUserById(Long userId) {
User user = getOne(new QueryWrapper<User>().eq(userId != null, "id", userId), false);
// 如果user为null,则不应用任何过滤条件或进行其他操作
return user;
}
}