黑马程序员JavaWeb开发教程
一、需求
- 使用用户名和密码进行登录系统的操作
二、思路
- 创建一个 LoginController ,service和mapper都直接使用emp的就可以
三、实现
3.1 代码
3.1.1 controller层
- 新创建的 LoginController
package com.itheima.mytlias.controller;
import com.itheima.mytlias.pojo.Emp;
import com.itheima.mytlias.pojo.Result;
import com.itheima.mytlias.service.EmpService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
@Slf4j
@RestController
public class LoginController {
@Autowired
private EmpService empService;
/**
* 该接口用于修改员工的数据信息
* 请求方式为 POST
* 请求路径为/login
* 返回统一响应结果--JWT令牌
* 参数:
*
* @param emp @RequestBody --JSON格式的数据作为擦书,需要加上这个注解
* @return
*/
@PostMapping("/login")
public Result login(@RequestBody Emp emp) {
//打印日志
log.info("登录页面");
//调用service
Emp emp1 = empService.login(emp);
//返回结果
if (emp1 != null) {
return Result.success();
}
return Result.error("用户名或者密码出错");
}
}
3.1.2 service层
- 直接使用 EmpService 和 EmpServiceImpl
- service
/**
* 用户使用用户名和密码进行登录
*/
Emp login(Emp emp);
- impl
/**
* 用户使用用户名和密码进行登录
* @param emp
*/
@Override
public Emp login(Emp emp) {
//调用mapper
Emp emp1= empMapper.getByUsernameAndPassword(emp);
return emp1;
}
3.1.3 mapper层
- 直接使用EmpMapper
/**
* 使用用户名和密码进行登录
* @param emp
*/
@Select("select * from emp where username=#{username} and password=#{password}")
Emp getByUsernameAndPassword(Emp emp);
3.2 Postman测试接口
- 测试使用的JSON格式数据
{
"username":"jinyong",
"password":"123456"
}