栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

SpringBoot---实现一个登录注册接口(超级详细)

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SpringBoot---实现一个登录注册接口(超级详细)

SpringBoot—实现一个登录注册(超级详细)

文章目录
  • SpringBoot---实现一个登录注册(超级详细)
  • 前言
  • 一、创建Springboot项目
  • 二、创建完项目后在pom.xml导入依赖
    • 2.1在application.properties
  • 三、数据库中创建t_user表
  • 四、编写实体类User
  • 五、编写UserMapper接口
  • 六、编写UserController
  • 七、编写Response
  • 八、运行项目,在postman中进行测试
  • 总结


前言

注:学spring boot 的新手或还没有入门的,可以看一下,适合小白的登录接口


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

一、创建Springboot项目

二、创建完项目后在pom.xml导入依赖


    4.0.0
    
        org.springframework.boot
        spring-boot-starter-parent
        2.7.0
         
    
    com.gzh
    spring_boot_demo
    0.0.1-SNAPSHOT
    spring_boot_demo
    Demo project for Spring Boot
    
        11
    
    
        
            org.springframework.boot
            spring-boot-starter-web
        

        
        
            mysql
            mysql-connector-java

        
        
        
            
            org.mybatis.spring.boot
            mybatis-spring-boot-starter
            2.2.0
        
        
        
        
            org.springframework.boot
            spring-boot-starter-test
            test
        
        
            org.projectlombok
            lombok
        
        
            io.jsonwebtoken
            jjwt
            0.9.0
        
    

    
        

            
                org.apache.maven.plugins
                maven-resources-plugin
                3.1.0
            
            
                org.springframework.boot
                spring-boot-maven-plugin
            
        
    




2.1在application.properties


三、数据库中创建t_user表

四、编写实体类User
package com.gzh.spring_boot_demo.com.gzh.entity;

import java.util.Objects;


public class User {
    private Integer uid;
    private String uname;
    private String pwd;


    public User() {
    }

    public Integer getUid() {
        return uid;
    }

    public void setUid(Integer uid) {
        this.uid = uid;
    }

    public String getUname() {
        return uname;
    }

    public void setUname(String uname) {
        this.uname = uname;
    }

    public String getPwd() {
        return pwd;
    }

    public void setPwd(String pwd) {
        this.pwd = pwd;
    }

    public User(Integer uid, String uname, String pwd) {
        this.uid = uid;
        this.uname = uname;
        this.pwd = pwd;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        User user = (User) o;
        return Objects.equals(uid, user.uid) &&
                Objects.equals(uname, user.uname) &&
                Objects.equals(pwd, user.pwd);
    }

    @Override
    public int hashCode() {
        return Objects.hash(uid, uname, pwd);
    }

    @Override
    public String toString() {
        return "User{" +
                "uid=" + uid +
                ", uname='" + uname + ''' +
                ", pwd='" + pwd + ''' +
                '}';
    }
}
五、编写UserMapper接口
package com.gzh.spring_boot_demo.com.gzh.mapper;

import com.gzh.spring_boot_demo.com.gzh.entity.User;
import org.apache.ibatis.annotations.*;
import org.springframework.transaction.annotation.Transactional;

import java.beans.Transient;



@Mapper
public interface UserMapper {

    //登录
    @Select("select * from t_user where uname=#{uname} and pwd=#{pwd}")
    User login(@Param("uname")String uname,@Param("pwd") String pwd);

    //注册
    @Update("insert into t_user values(default,#{uname},#{pwd})")
    @Transactional
    void register(User user);

    //注册时判断用户是否存在
    @Select("select* from t_user where uname=#{uname}")
    @Transactional
    User  registerByName(String name);


}

六、编写UserController
package com.gzh.spring_boot_demo.com.gzh.controller;

import com.gzh.spring_boot_demo.com.gzh.entity.User;
import com.gzh.spring_boot_demo.com.gzh.mapper.UserMapper;
import com.gzh.spring_boot_demo.com.gzh.service.UploadMangeService;
import com.gzh.spring_boot_demo.com.gzh.util.Response;
import com.gzh.spring_boot_demo.com.gzh.util.Upload;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;



@RestController
@RequestMapping("/api")
public class UserController {

    @Resource
    UserMapper userMapper;
 
    
    @PostMapping("/login")
    public Response loginUser(@RequestBody User user) {
        String uname = user.getUname();
        String pwd = user.getPwd();
        System.out.println("uname=" + uname + "pwd" + pwd);
        if (uname.equals("") || pwd.equals("")) {
            return new Response(100, "用户名或密码不能为空", "");
        } else {
            if (userMapper.login(uname, pwd) != null) {
                return new Response(200, "操作成功", "");
            } else {
                return new Response(500, "用户不存在/密码错误", "");
            }
        }
    }

    @PostMapping("/register")
    public Response register(@RequestBody User user) {
        String uname = user.getUname();
        String pwd = user.getPwd();
        if (uname.equals("") || pwd.equals("")) {
            return new Response(100, "用户名或密码不能为空", "");
        } else {
            if (userMapper.registerByName(user.getUname()) == null) {
                userMapper.register(user);

                return new Response(200, "操作成功", "");
            } else {
                return new Response(500, "注册失败", "用户已存在");
            }
        }
    }
 
}

七、编写Response
package com.gzh.spring_boot_demo.com.gzh.util;


import java.util.Date;
import java.util.Objects;


public class Response {
    private Integer code;
    private String msg;
    private String token;


    public Response(Integer code, String msg, String token) {
        this.code = code;
        this.msg = msg;
        this.token = token;
    }

    @Override
    public String toString() {
        return "Response{" +
                "code=" + code +
                ", msg='" + msg + ''' +
                ", token='" + token + ''' +
                '}';
    }

    public Integer getCode() {
        return code;
    }

    public void setCode(Integer code) {
        this.code = code;
    }

    public String getMsg() {
        return msg;
    }

    public void setMsg(String msg) {
        this.msg = msg;
    }

    public String getToken() {
        return token;
    }

    public void setToken(String token) {
        this.token = token;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        Response response = (Response) o;
        return Objects.equals(code, response.code) &&
                Objects.equals(msg, response.msg) &&
                Objects.equals(token, response.token);
    }

    @Override
    public int hashCode() {
        return Objects.hash(code, msg, token);
    }
}


八、运行项目,在postman中进行测试

总结

提示:这里对文章进行总结:

例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/979759.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号