**

个人博客:[http://wj2y.cn/]

**

1. 编写实体类

用户登录注册这里做的比较简单,只做了用户名和密码,所以实体类User.java中只需要username、password两个变量。该类中只需要快速生成有参和无参、get和set方法、最后加一个toString方法。

public class User {private String username;private String password;public User() {}public User(String username, String password) {this.username = username;this.password = password;}public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}@Overridepublic String toString() {return "User{" +"username='" + username + '\'' +", password='" + password + '\'' +'}';}
}

2. 编写UserMapper接口

在mapper下创建一个 UserMapper 接口,该接口主要写查询、增加方法。

import com.wangjun.pojo.User;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.List;@Mapper
@Component
public interface UserMapper {//通过账号密码来查询信息List<User> queryUserByUp(@RequestParam("username") String username, @RequestParam("password") String password);//查询所有用户List<User> queryUserList();//增加用户int addUser(@RequestParam("user") User user);//通过用户名来进行查询List<User> queryUserByUserName(@RequestParam("username") String username);}

3. 编写 UserMapper .xml

在resources下创建mybatis文件夹再创建一个mapper文件夹,在mapper文件夹下创建UserMapper .xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.wangjun.mapper.UserMapper"><select id="queryUserByUp" resultType="User">select * from user where username = #{username} AND password = #{password}</select><select id="queryUserList" resultType="User">select * from user</select><select id="queryUserByUserName" resultType="User">select * from user where username = #{username}</select><insert id="addUser" parameterType="User">insert into user (username,password) values (#{username},#{password})</insert></mapper>

PS: namespace必须是UserMapper的完整路径。

、标签中的id必须和接口中方法名保持一致。

4. 编写Controller类

4.1 编写登录控制类(LoginController)

逻辑:利用从前端获取过来的用户名和密码进行查询,如果查询到数据,就成功登录。 反之,登录失败给出提示信息。

PS:没有把包复制在下面代码中,要用的自己直接导入就可以了~

@Controller
public class LoginController {@AutowiredUserMapper userMapper;@RequestMapping("/login")public String login(@RequestParam("username") String username,@RequestParam("password") String password,Model model, HttpSession session){//用从前端获取的username、password进行查询List<User> user1 = userMapper.queryUserByUp(username,password);if (!user1.isEmpty()){session.setAttribute("loginUser",username);return "redirect:/main.html";}else {model.addAttribute("msg","用户名或者密码错误");return "index";}}}

4.2 编写注册控制类(RegisController)

逻辑:通过前端输入的用户名查询数据库中是否存在,存在则给出提示信息,反之,保存用户名和密码并且直接成功登录到后台。

PS:没有把包复制在下面代码中,要用的自己直接导入就可以了~

@Controller
public class RegisController {@AutowiredUserMapper userMapper;@RequestMapping("/regis")public String regis(@RequestParam("username") String username,@RequestParam("password") String password,Model model,HttpSession session){User user = new User();List<User> user1 = userMapper.queryUserByUserName(username);if (!user1.isEmpty()){model.addAttribute("msg","用户名存在");return "regis";} else {//保存输入的用户名和密码user.setUsername(username);user.setPassword(password);userMapper.addUser(user);session.setAttribute("loginUser",username);return "redirect:/main.html";}}
}

5. 前端页面

前端页面很简单,只需要确保用户名和密码输入框中的name和变量名一致,这里就不贴代码了~

6. application.properties

spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.url=jdbc:mysql://localhost:3306/数据库名?serverTimezone=UTC&useUnicode=true$characterEncoding=utf-8
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver#整合mybatis
mybatis.type-aliases-package=com.wangjun.pojo
mybatis.mapper-locations=classpath:mybatis/mapper/*.xml

7. 导入的依赖

<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>org.springframework.boot</groupId><artifactId>spring-boot-configuration-processor</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-thymeleaf</artifactId></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId></dependency><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>2.1.1</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-jdbc</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-validation</artifactId></dependency><dependency><groupId>org.webjars</groupId><artifactId>jquery</artifactId><version>3.4.1</version></dependency><!--lombok--><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></dependency></dependencies>

8. 总结

这个顺序不是写代码的顺序哈,只是我在写博客时没有注意到顺序的问题,写项目那肯定是先导入依赖的哈,结果我却放在了最后,不过依赖应该都是小问题!

其实登录注册功能不难,代码也比较简单,好好看看理解一下秒懂的~

Spring Boot + MyBatis :登录注册功能相关推荐

  1. Spring boot 搭建个人博客系统(二)——登录注册功能

    Spring boot 搭建个人博客系统(二)--登录注册功能 一直想用Spring boot 搭建一个属于自己的博客系统,刚好前段时间学习了叶神的牛客项目课受益匪浅,乘热打铁也主要是学习,好让自己熟 ...

  2. Spring Boot+Mybatis:实现数据库登录注册与两种properties配置参数读取

    〇.参考资料 1.hutool介绍 https://blog.csdn.net/abst122/article/details/124091375 2.Spring Boot+Mybatis实现登录注 ...

  3. spring 3.x 学习笔记_spring mvc、spring jdbc 实现网站的登录注册功能

    使用spring mvc.spring jdbc 实现网站的登录注册功能 1.        据业务模型 创建model 一般实现序列化 2.        用spring 注解(@Repositor ...

  4. spring boot + mybatis + layui + shiro后台权限管理系统

    后台管理系统 版本更新 后续版本更新内容 链接入口: springboot + shiro之登录人数限制.登录判断重定向.session时间设置:https://blog.51cto.com/wyai ...

  5. JavaEE + Oracle + Spring Boot + Mybatis + Maven 开发简易版银行管理系统(附源码)

    文章目录 JavaEE + Oracle + Spring Boot + Mybatis + Maven 开发简易版银行管理系统 一.系统介绍 二.开发步骤 三.系统展示 四.开发总结 五.数据库相关 ...

  6. Vue+Spring Boot+MyBatis实现Eshop电子商城(已烂尾,等以后有时间再继续完善)

    文章目录 asp.net必修课项目(Java实现):EShop数码商城 前言 项目介绍 预计主要实现的功能 系统架构 前端架构 后端架构 后端部分内容的具体实现 注1:项目初始化及其所要引入的依赖 1 ...

  7. Spring Boot 实现登录拦截器,这才是正确的姿势!!

    原文:https://blog.csdn.net/qq_27198345/article/details/111401610 对于管理系统或其他需要用户登录的系统,登录验证都是必不可少的环节,在Spr ...

  8. html登陆注册功能实现,实现用户的登录注册功能

    在基于Spring Boot框架上,实现用户的登录注册功能, 首先分析前期所需要的规划. 1 实现登录注册 前端向后端发起post请求 2用户密码安全性 密码是不推荐明文入库的,在后台采取秘钥加加不可 ...

  9. Spring Boot+MyBatis Plus+JWT 问卷系统!开源!

    你好呀,我是 Guide!这里是 JavaGuide 的「优质开源项目推荐」第 8 期,每一期我都会精选 5 个高质量的 Java 开源项目. 时间过的真快,不知不觉「优质开源项目推荐」系列已经持续半 ...

最新文章

  1. (NO.00001)iOS游戏SpeedBoy Lite成形记(九)
  2. ELSE 技术周刊(2017.11.20期)
  3. Nginx的功能特性及常用功能
  4. am335x PDK3.0 设置为单网口配置记录
  5. struct stat结构体简介
  6. 【 HDU - 2594 】Simpsons’ Hidden Talents(KMP应用,求最长前缀后缀公共子串)
  7. pagerank数据集_从小白视角理解数据挖掘十大算法
  8. linux下iscsi
  9. C# 在线PDF阅读
  10. 机器学习导论第二章--学习心得1
  11. 吉林大学学生邮箱接收服务器地址
  12. 【IoT】产品设计:硬件成本核算,这篇文章就够了
  13. Java趣味编程(二)
  14. pyqt5 图像上划线_PyQt5如何用QPainter在QScrollArea上画线?
  15. 怎么样配置阿里云的CDN-可以加速网站访问速度
  16. 阿里云短信功能网址链接
  17. (附源码)计算机毕业设计SSM基于框架的旅游订票系统
  18. android利用EpMedia给录像添加时间水印
  19. 万字详解5G车联网技术
  20. 英语语法汇总(3.代词)

热门文章

  1. 代理IP对于直播人气有多大作用-国内多ip站群
  2. 平板连接远程linux系统,使用Termius从iPad连接到Linux服务器
  3. 快手的动作已“变形”
  4. 【OpenCv】图像的轮廓查找
  5. python rsa库_python RSA加密解密
  6. 【操作系统】一个意外错误使您无法删除该文件“的解决办法,超简单!
  7. vue对文件夹进行拖拽上传完整流程(文件夹中超出100个文件)
  8. 输入验证码投票功能的实现
  9. python解析json文件并进行坐标查询
  10. axios取消请求方式