- 视频地址:黑马程序员Java项目实战《瑞吉外卖》,轻松掌握springboot + mybatis plus开发核心技术的真java实战项目_哔哩哔哩_bilibili
- 资料下载:百度网盘【黑马程序员-Java瑞吉外卖-企业级项目实战-平台实战开发】
- 黑马Java项目实战-瑞吉外卖-笔记01
目录
P005
P007
P008
P010
P011
P012
P013
黑马程序员-Java瑞吉外卖-企业级项目实战-平台实战开发
本课程以当前热门的外卖点餐为业务基础,基于流行的Spring Boot、mybatis plus等技术框架进行开发
带领学员体验真实项目开发流程、需求分析过程和代码实现过程。
学完本课程能够收获:锻炼需求分析能力、编码能力、bug调试能力,增长开发经验
本视频主要面向的群体是:
1. 具备Java web、SpringBoot、Mybatis plus、Spring、Spring mvc、MySQL 等框架和中间件基础
2. 想要快速了解项目开发流程、增长开发经验的人群
课程亮点:
1.业务真实、实用、广泛
2.课程难度适中,并且层层递进,利于学生吸收
3.承上启下,对框架课程充分练习、巩固,为后续前后端分离项目课程做好铺垫
4.让学生感受一个完整项目的开发过程以及随着业务的不断发展后续的演进、升级过程
5.锻炼学生的自主解决问题的能力和沟通协调能力
6.使用当前流行的技术框架开发
课程内容:
课程共62讲,外卖业务开发、Git、Linux、Redis 与 项目优化 五大篇章,涵盖了整个项目的开发过程和优化过程。
P005
mysql> create database reggie character set utf8mb4;
Query OK, 1 row affected (0.00 sec)
mysql>
P007
在服务端创建一些相关的类,controller接收用户名和密码,service查数据库——>mapper调数据库。
P008
P010
P011
package com.itheima.reggie.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
import com.itheima.reggie.common.R;
import com.itheima.reggie.entity.Employee;
import com.itheima.reggie.service.EmployeeService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.DigestUtils;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import sun.security.util.Password;
import javax.servlet.http.HttpServletRequest;
@Slf4j
@RestController
@RequestMapping("/employee")
public class EmployeeController {
@Autowired //应用于字段、构造函数、Setter方法或者配置类的方法上
private EmployeeService employeeService;
/**
* 员工登录
*
* @param request
* @param employee
* @return
*/
@PostMapping("/login")
public R<Employee> login(HttpServletRequest request, @RequestBody Employee employee) {
/**
1、将页面提交的密码password进行md5加密处理
2、根据页面提交的用户名username查询数据库
3、如果没有查询到则返回登录失败结果
4、密码比对,如果不一致则返回登录失败结果
5、查看员工状态,如果为已禁用状态,则返回员工已禁用结果
6、登录成功,将员工id存入Session并返回登录成功结果
*/
//1、将页面提交的密码password进行md5加密处理
String password = employee.getPassword();
password = DigestUtils.md5DigestAsHex(password.getBytes());
//2、根据页面提交的用户名username查询数据库
LambdaQueryWrapper<Employee> querryMapper = new LambdaQueryWrapper<>();
querryMapper.eq(Employee::getUsername, employee.getUsername());
Employee emp = employeeService.getOne(querryMapper);
//3、如果没有查询到则返回登录失败结果
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);
}
}