SpringBoot实现简单的登录注册

2022-08-14 10:46:30

项目创建步骤

在这里插入图片描述
在这里插入图片描述
一直下一步即可
(注:环境要求jdk1.8)

目录结构

在这里插入图片描述

数据库

//创建数据库createdatabase test;//选择创建好的数据库,建立user表
t_user test;createtable t_user(
    idintprimarykeyauto_increment,
    usernamevarchar(32)uniquenotnull,
    passwordvarchar(32)notnull);//想创建好的数据库中添加数据insertinto t_uservalues(1,"xioming","000");

登录(login.html)

<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>login</title></head><body><formmethod="post"action="/user/login">
  用户名:<inputname="username"type="text"><br>
  密码:<inputname="password"type="password"><br><inputtype="submit"value="登录验证"><inputtype="button"onclick="javascript:window.location.href='regist.html'"value="去注册页面"></form></body></html>

注册界面(register.html)

<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>Title</title></head><body><formaction="/user/regist"method="post">
    用户名:<inputtype="text"name="username"><br>
    密码:<inputtype="password"name="password"><br><inputtype="submit"value="注册验证"><br><inputtype="button"onclick="javascript:window.location.href='login.html'"value="返回登录界面"></form></body></html>

Pom文件

<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.5.1</version><relativePath/><!-- lookup parent from repository--></parent><groupId>com.mychery</groupId><artifactId>login</artifactId><version>0.0.1-SNAPSHOT</version><name>login</name><description>Demo projectforSpringBoot</description><properties><java.version>1.8</java.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.15</version><scope>runtime</scope></dependency><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>2.2.0</version></dependency><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.1.9</version></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build></project>

数据配置信息:application.properties

# 数据库连接信息
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/test?serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=root

# 数据库连接池
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.initial-size=5
spring.datasource.minIdle=5
spring.datasource.maxActive=20
spring.datasource.maxWait=3000

# mapper映射
mybatis.type-aliases-package=com.mychery.login.pojo
mybatis.mapper-locations=classpath:mapper/*.xml

实体类(User)

packagecom.mychery.login.pojo;publicclassUser{privateInteger id;privateString username;privateString password;@OverridepublicStringtoString(){return"User{"+"id="+ id+", username='"+ username+'\''+", password='"+ password+'\''+'}';}publicIntegergetId(){return id;}publicvoidsetId(Integer id){this.id= id;}publicStringgetUsername(){return username;}publicvoidsetUsername(String username){this.username= username;}publicStringgetPassword(){return password;}publicvoidsetPassword(String password){this.password= password;}}

Mapper接口:UserMapper.java

packagecom.mychery.login.mapper;importcom.mychery.login.pojo.User;importorg.apache.ibatis.annotations.Mapper;importorg.springframework.stereotype.Repository;importjava.util.List;@Repository@MapperpublicinterfaceUserMapper{List<User>findAll();UserfindByName(String name);StringfindPswByName(StringUserName);voidsave(User user);}

UserMapper.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.mychery.login.mapper.UserMapper"><select id="findAll" resultType="User">
        select* from t_user</select><select id="findByName" resultType="User">
        select* from t_user where username= #{username}</select><select id="findPswByName" resultType="String">
        select password from t_user where username= #{username}</select><insert id="save">
        insert intot_user(username,password) value(#{username},#{password})</insert></mapper>

Service类:UserService.java

packagecom.mychery.login.service;importcom.mychery.login.mapper.UserMapper;importcom.mychery.login.pojo.User;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.stereotype.Service;importjava.util.List;@ServicepublicclassUserService{@AutowiredUserMapper userMapper;publicStringlogin(User user){try{User userExistN=userMapper.findByName(user.getUsername());if(userExistN!=null){String userExistP=userMapper.findPswByName(user.getUsername());if(userExistP.equals(user.getPassword())){return user.getUsername()+"用户登录成功,欢迎您!";}else{return"登录失败,密码错误";}}else{return"登录失败,账户不存在";}}catch(Exception e){
            e.printStackTrace();return e.getMessage();}}publicStringregist(User user){try{User userExist=userMapper.findByName(user.getUsername());if(user.getUsername().equals("")){return"账户名不能为空";}elseif(user.getPassword().equals("")){return"密码不能为空";}elseif(userExist!=null){return"账户已经存在";}else{
                userMapper.save(user);return"注册成功";}}catch(Exception e){
            e.printStackTrace();return e.getMessage();}}publicList<User>findAll(){List<User> list=userMapper.findAll();return list;}publicvoidshow(){}}

Controller:UserController.java

packagecom.mychery.login.controller;importcom.mychery.login.pojo.User;importcom.mychery.login.service.UserService;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.web.bind.annotation.PostMapping;importorg.springframework.web.bind.annotation.RequestMapping;importorg.springframework.web.bind.annotation.RequestMethod;importorg.springframework.web.bind.annotation.RestController;importjava.util.List;@RestController@RequestMapping("/user")publicclassUserController{@AutowiredUserService userService;@PostMapping("/login")publicStringlogin(User user){return userService.login(user);}@PostMapping("/regist")publicStringregist(User user){return userService.regist(user);}/**
     * 解决查询数据库中文出现乱码问题
     * @return
     */@RequestMapping(value="/alluser",method=RequestMethod.GET,produces="application/json;charset=UTF-8")publicList<User>findAll(){return userService.findAll();}}

总结

运行成功后浏览器
http://localhost:8080/login.html(登录)
http://localhost:8080/login.html(注册)
http://localhost:8080/user/alluser(展示所有用户)

  • 作者:来一杯小于
  • 原文链接:https://blog.csdn.net/qq_52688041/article/details/119909569
    更新时间:2022-08-14 10:46:30