这里不能直接使用 querywrapper 查询用户吗

来源:5-10 用户忘记密码-校验用户名

无解的游戏

2023-08-27

public String checkUsername(CheckUsernameContext checkUsernameContext) {
        QueryWrapper<WPanUser> queryWrapper = new QueryWrapper<>();
        queryWrapper.eq("username", checkUsernameContext.getUsername());
        WPanUser entity = getOne(queryWrapper);
        if (Objects.isNull(entity)) {
            throw new WPanBusinessException("该用户不存在");
        }
        if (StringUtils.isBlank(entity.getQuestion())) {
            throw new WPanBusinessException("此用户没有密保问题");
        }
        return null;
    }

直接根据用户实体里获取密保问题,还能查询下用户是否存在,用户存在了才能查看是否有密保问题,感觉再使用一下baseMapper去调用一下没有必要。

如果是为了查询性能可以理解

select quetion from r_pan_user where username = 'xxxx'

上面可能会

select * from ....

上面的也能改成只查询一个字段的

public String checkUsername(CheckUsernameContext checkUsernameContext) {
        QueryWrapper<WPanUser> queryWrapper = new QueryWrapper<>();
        queryWrapper.select("question");
        queryWrapper.eq("username", checkUsernameContext.getUsername());
        WPanUser entity = getOne(queryWrapper);
        if (Objects.isNull(entity)) {
            throw new WPanBusinessException("该用户不存在");
        }
        if (StringUtils.isBlank(entity.getQuestion())) {
            throw new WPanBusinessException("此用户没有密保问题");
        }
        return entity.getQuestion();
    }
写回答

1回答

RubinChu

2023-08-27

怎么查询都可以哈  只要能实现功能就可以

0
1
无解的游戏
非常感谢!en
2023-08-27
共1条回复

SpringBoot+Vue3+Element Plus打造私人分布式存储系统

SpringBoot+Vue3+Element Plus 仿百度网盘实战

274 学习 · 346 问题

查看课程