实现登录功能springboot的搭建:
统一返回类:
package com.demo.common;public class Result {private String code;private String msg;private Object data;public static Result success() {Result result = new Result();result.setCode("200");result.setMsg("请求成功");return result;}public static Result success(Object data) {Result result = success();result.setData(data);return result;}public static Result error() {Result result = new Result();result.setCode("500");result.setMsg("系统错误");return result;}public static Result error(String code, String msg) {Result result = new Result();result.setCode(code);result.setMsg(msg);return result;}public String getCode() {return code;}public void setCode(String code) {this.code = code;}public String getMsg() {return msg;}public void setMsg(String msg) {this.msg = msg;}public Object getData() {return data;}public void setData(Object data) {this.data = data;}
}
User类:
package com.demo.entity;public class User {private Integer userId; // 学号(主键)private String password; // 预留字段private String username; // 姓名private String phoneNumber; // 手机号码private String userClass; // 班级public Integer getUserId() {return userId;}public void setUserId(Integer userId) {this.userId = userId;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public String getPhoneNumber() {return phoneNumber;}public void setPhoneNumber(String phoneNumber) {this.phoneNumber = phoneNumber;}public String getUserClass() {return userClass;}public void setUserClass(String userClass) {this.userClass = userClass;}@Overridepublic String toString() {return "User{" +"userId=" + userId +", password='" + password + '\'' +", username='" + username + '\'' +", phoneNumber='" + phoneNumber + '\'' +", userClass='" + userClass + '\'' +'}';}
}
Service:
package com.demo.service;import com.demo.entity.User;
import com.demo.mapper.UserMapper;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import jakarta.annotation.Resource;
import org.springframework.stereotype.Service;import java.util.List;@Service
public class UserService {@Resourceprivate UserMapper userMapper;public void add(User user) {userMapper.insert(user);}public User login(User user) {return userMapper.login(user);}
}
mapper:
package com.demo.mapper;import com.demo.entity.User;
import org.apache.ibatis.annotations.Delete;import java.util.List;public interface UserMapper {void insert(User user);User login(User user);
}
mapper.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="com.demo.mapper.UserMapper"><!-- 插入用户数据 --><insert id="insert" parameterType="com.demo.entity.User">INSERT INTO `user` (user_id,password,username,phone_number,user_class)VALUES (#{userId}, <!-- 学号(主键) -->#{password},#{username}, <!-- 姓名 -->#{phoneNumber}, <!-- 手机号码 -->#{userClass} <!-- 班级 -->)</insert><select id="login" resultType="com.demo.entity.User">select * from userwhere username = #{username} and password = #{password}</select></mapper>
controller:
package com.demo.controller;import com.demo.common.Result;
import com.demo.entity.User;
import com.demo.service.UserService;
import com.github.pagehelper.PageInfo;
import jakarta.annotation.Resource;
import org.springframework.web.bind.annotation.*;import java.util.List;@RestController
@RequestMapping("/user")
public class UserController {@Resourceprivate UserService userService;@PostMapping("/register")// @RequestBody 把前端传来的json字符串映射成java对象或者数组public Result add(@RequestBody User user){userService.add(user);return Result.success();}@PostMapping("/login")public Result login(@RequestBody User user) {User result = userService.login(user);return Result.success(result);}}