瑞吉外卖-后台登录功能

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


瑞吉外卖-后台登陆功能

提示:这里可以添加本文要记录的大概内容:

瑞吉外卖后台登录功能实现。


提示:以下是本篇文章正文内容,下面案例可供参考

一、判断是否登录成功流程图

在这里插入图片描述

二、处理逻辑

在这里插入图片描述

三.启动报错

将@Service 注解写在了接口上,注意,接口不能被代理对象,应该写在接口的实现类上

四.唯一索引

在这里插入图片描述
这里的Unique代表唯一索引,字段值不能相同

五.自实现登录逻辑

    /**
     * @param httpServletRequest 将登录成功的员工信息存入session中
     * @param employee           前端传过来的登录信息,查数据库判断是否登录成功
     * @return
     */
    @PostMapping("/login")
    public Result login(HttpServletRequest httpServletRequest, @RequestBody Employee employee) {

        Result result = Result.error("登陆失败");


        String passwordMd5 = MD5Util.getMD5(employee.getPassword());

        Employee employee1 = employeeService.selectByUsername(employee.getUsername());
        if (employee1 != null) {
            if (passwordMd5.equals(employee1.getPassword())) {
                if (1 == employee1.getStatus()) {

                    result = Result.success(employee1);
                    httpServletRequest.getSession().setAttribute("emp", employee1);
                }

            }
        }
        return result;
    }

六.老师实现登录逻辑

采用了条件构造器QueryWrapper方法


    String passwordMd5 = MD5Util.getMD5(employee.getPassword());
    //根据页面提交的用户名username查询数据库
    LambdaQueryWrapper<Employee> eq = new LambdaQueryWrapper<>();
    eq.eq(Employee::getUsername, employee.getUsername());
    Employee one = employeeService.getOne(eq);

判断用户名和数据库中的username是否相等

条件构造器QueryWrapper方法详解:https://blog.51cto.com/u_12835254/5273562

使用过程中报错:

Unable to make field private final java.lang.Class java.lang.invoke.SerializedLambda.capturingClass accessible: module java.base does not "opens java.lang.invoke" to unnamed module @1bd4fdd

排查原因是jdk版本过高,改成1.8之后成功运行。条件构造器QueryWrapper方法的使用解释可以看看这位大哥的博客。

https://blog.csdn.net/qq_57216731/article/details/125019707
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值