SpringBoot+MyBatis实现登录案例

 更新时间:2021年06月20日 16:42:26   作者:西北King  
前端时间在网上看到有朋友在学习springboot项目的搭建过程,今天就抽空给大家分享一个案例帮助大家学习SpringBoot+MyBatis实现登录功能,具体实现代码跟随小编一起看看吧

1.创建一个SpringBoot项目

2.创建表

create database login;
 
use login;
 
 
create table userlogin(
username varchar(49),
password varchar(49)
)

3.idea连接mysql

4. 创建实体类UserLogin

@Data
@AllArgsConstructor
@NoArgsConstructor
@Table(name = "userlogin")/*
        <dependency>
            <groupId>javax.persistence</groupId>
            <artifactId>persistence-api</artifactId>
            <version>1.0</version>
        </dependency>
*/
public class UserLogin {
    private String username;
    private String password;
}

5.创建mapper。数据持久层UserLoginMapper接口

@Mapper
@Repository
public interface UserLoginMapper {
 
    //定义增删改查方法
 
    //查询所有
    public List<UserLogin> queryAll();
    //添加数据
 
    public int add(UserLogin userLogin);
 
    //根据用户名查询
 
    public UserLogin queryByUsername(String username);
}

6.在resources下建UserLoginMapper.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="自己的mapper接口">
 <select id="queryAll" resultType="自己的实体类接口">
  select * from userlogin
 </select>
 <insert id="add" parameterType="自己的实体类接口">
  insert into userlogin values (#{username},#{password})
 </insert>
 <select id="queryByUsername" resultType="自己的实体类接口">
  select * from userlogin where username=#{username}
 </select>
</mapper>

7.编写UserLogService接口

public interface UserLonginService {
    public interface UserLoginServicesl {
        //查询所有
        public List<UserLogin> queryAll();
        //添加数据
        public int add(UserLogin userLogin);
        //根据用户名查询
        public UserLogin queryByUsername(String username);
    }
}

8.编写控制层MyController

@Controller
public class MyController {
 //controller层调用service层
 //创建一个service层对象
 @Autowired
 UserLoginServicesImpl userLoginServices;
 
 //登录
 @RequestMapping("/toLogin")
 public String toLogin() {
  return "login";
 }
 
 @RequestMapping("/loginSuccess")
 public String loginSuccess(Model model, UserLogin userLogin) {
  //查询用户名是否存在
  UserLogin userLogin1 = userLoginServices.queryByUsername(userLogin.getUsername());
  if (userLogin1 != null) { //如果用户名存在
   if (userLogin1.getPassword().equals(userLogin.getPassword())) {
    System.out.println(userLogin1.toString());
    return "success";
   } else {
    model.addAttribute("data", "密码不正确");
    return "login";
   }
 
  } else { //用户名不存在,直接返回到登录页面
   model.addAttribute("data", "该用户不存在,请先注册");
   return "login";
  }
 }
 
 
 //注册
 @RequestMapping("/toRegister")
 public String toRegister() {
  return "register";
 }
 
 @RequestMapping("/toRegisterSuccess")
 public String toRegisterSuccess(Model model,UserLogin userLogin) {
  //添加一条记录到数据库中
  int add = userLoginServices.add(userLogin);
  System.out.println("插入数据成功");
  model.addAttribute("data","注册成功,请登录");
  return "login";
 
 }
}

9.前端页面

10.login.html 登录的页面

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
 <meta charset="UTF-8">
 <title>login</title>
</head>
<body background="back.jpg">
<div align="center">
 <br><br><h2>登录界面</h2><br><br>
 <span th:text="${data}" style="text-color:red;font-size: 10px"></span>
 <form method="get" action="/loginSuccess">
  用户名:<input type="text" name="username" placeholder="请输入用户名" required/><br><br>
  密码:<input type="text" name="password" placeholder="请输入密码" required/><br><br>
  <input type="submit" value="登录">
 </form>
 <br>
 <form method="get" action="/toRegister">
  <input type="submit" value="注册">
 </form>
</div>
</body>
</html>

11.注册界面

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
 <meta charset="UTF-8">
 <title>register</title>
</head>
<body background="back.jpg" >
<div align="center">
 <br><br><h1>注册界面</h1><br><br>
 <form method="get" action="/toRegisterSuccess">
  用户名:<input type="text" name="username" placeholder="请输入用户名" required/><br><br>
  密码:<input type="text" name="password" placeholder="请输入密码" required/><br><br>
  确认密码:<input type="text" name="password2" placeholder="请输入密码" required/><br><br>
  <input type="submit" value="注册">
 </form>
</div>
</body>
</html>

success.html:成功页面

以上就是SpringBoot+MyBatis登录案例的详细内容,更多关于SpringBoot MyBatis登录的资料请关注脚本之家其它相关文章!

相关文章

  • 提高开发效率Live Templates使用技巧详解

    提高开发效率Live Templates使用技巧详解

    这篇文章主要为大家介绍了提高开发效率Live Templates使用技巧详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-01-01
  • Java中List集合去重方法以及效率对比

    Java中List集合去重方法以及效率对比

    这篇文章主要给大家介绍了关于Java中List集合去重方法以及效率对比的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • SpringBoot项目调优及垃圾回收器的比较详解

    SpringBoot项目调优及垃圾回收器的比较详解

    这篇文章主要介绍了SpringBoot项目调优及垃圾回收器的比较详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-04-04
  • SpringCloud Edgware.SR3版本中Ribbon的timeout设置方法

    SpringCloud Edgware.SR3版本中Ribbon的timeout设置方法

    今天小编就为大家分享一篇关于SpringCloud Edgware.SR3版本中Ribbon的timeout设置方法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-12-12
  • spring boot自定义404错误信息的方法示例

    spring boot自定义404错误信息的方法示例

    这篇文章主要介绍了spring boot自定义404错误信息的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧。
    2017-09-09
  • java简易小游戏制作代码

    java简易小游戏制作代码

    这篇文章主要介绍了java简易小游戏制作代码,代码简单易懂,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-04-04
  • 利用Sharding-Jdbc进行分库分表的操作代码

    利用Sharding-Jdbc进行分库分表的操作代码

    sharding-jdbc是一个分布式的关系型数据库中间件,今天通过本文给大家介绍利用Sharding-Jdbc进行分库分表的操作代码,代码简单易懂对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2022-01-01
  • MyBatis Example And与Or混合使用的实例

    MyBatis Example And与Or混合使用的实例

    这篇文章主要介绍了MyBatis Example And与Or混合使用的实例,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-12-12
  • Mybatis 插入和删除批处理操作

    Mybatis 插入和删除批处理操作

    在操作数据库时,经常会碰到批量插入、批量删除的情况,直接执行SQL语句还好做一点,当使用Mybatis进行批量插入、批量删除时会有一些问题。下面对使用Mybatis批量插入,批量删除进行介绍
    2016-12-12
  • Java数据结构中七种排序算法实现详解

    Java数据结构中七种排序算法实现详解

    这篇文章主要介绍了Java数据结构中七种排序算法的实现方法,排序算法可分为两大类,比较类排序和非比较类排序,顾名思义可知它们是通过比较来决定元素间的相对次序,需要详细了解排序算法的朋友可以参考下
    2024-02-02

最新评论