CYueblog

导航

day01

map-underscore-to-camel-case: true:这句话是为了消除数据库的下划线命名和驼峰命名
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl:打印日志
global-config:
db-config:
id-type: ASSIGN_ID:设置数据库自动配置id的方式为自增
这里加载完前端资源之后:如果放在static资源目录下 自动加载
如果没有 那就不能自动访问该目录下的前端资源
那就需要配置一个
WebMvcConfigurationSupport来拦截处理 这个应该和ssm里面一样 外部不能访问 但是java内部可以 所以设计一个拦截器
还有就是 启动类一定放在最外侧
@sl4 是为了log记录日志 每个都要
设计登陆页面:创建几个包 实体类:这个不用多说
service和impl 这个在mp里一定要继承Iservice和 serviceImpl两个接口 目的就是简单 和mp一样写了好多省略的 在实现类上加注解
commer:R.java 这个激素hi吧返回的数据封装 返回 在这里用了一个泛型 目的是方便跟其他的链接
controller:在这个类里实现具体功能 首先加入R和service然后
LambdaQueryWrapper 利用这个查询数据库
LambdaQueryWrapper<Employee> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(Employee::getUsername,employee.getUsername());
Employee emp = employeeService.getOne(queryWrapper);
   if(emp == null){
            return R.error("登录失败");
        }

        //4、密码比对,如果不一致则返回登录失败结果
        if(!emp.getPassword().equals(password)){
            return R.error("登录失败");
        }

        //5、查看员工状态,如果为已禁用状态,则返回员工已禁用结果
        if(emp.getStatus() == 0){
            return R.error("账号已禁用");
        }

        //6、登录成功,将员工id存入Session并返回登录成功结果
        request.getSession().setAttribute("employee",emp.getId());
        return R.success(emp);

  这就是登录之后的结果

@RequestBody 你在页面里拿到的信息 封装到实体类 
   public static <T> R<T> success(T object) {
        R<T> r = new R<T>();
        r.data = object;
        r.code = 1;
        return r;
    }

这个就是 object的好处 你操作成功后可能返回的类型值不尽相同




 

posted on 2022-05-05 15:49  唱月CY  阅读(90)  评论(0编辑  收藏  举报