SpringBoot+MyBatis实现登录案例

 更新时间:2021年6月21日 00:00  点击:1464

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登录的资料请关注猪先飞其它相关文章!

[!--infotagslink--]

相关文章

  • Mybatis Plus select 实现只查询部分字段

    这篇文章主要介绍了Mybatis Plus select 实现只查询部分字段的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-09-01
  • 解决springboot使用logback日志出现LOG_PATH_IS_UNDEFINED文件夹的问题

    这篇文章主要介绍了解决springboot使用logback日志出现LOG_PATH_IS_UNDEFINED文件夹的问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-04-28
  • 解决Mybatis 大数据量的批量insert问题

    这篇文章主要介绍了解决Mybatis 大数据量的批量insert问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-01-09
  • php中登录后跳转回原来要访问的页面实例

    在很多网站用户先访问一个要登录的页面,但当时没有登录后来登录了,等待用户登录成功之后肯定希望返回到上次访问的页面,下面我就来给大家介绍登录后跳转回原来要访问的页...2016-11-25
  • mybatis的Configuration详解

    这篇文章主要介绍了mybatis的Configuration详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-11-04
  • SpringBoot实现excel文件生成和下载

    这篇文章主要为大家详细介绍了SpringBoot实现excel文件生成和下载,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-02-09
  • php中用curl模拟登录discuz以及模拟发帖

    本文章完美的利用了php的curl功能实现模拟登录discuz以及模拟发帖,本教程供参考学习哦。 代码如下 复制代码 <?php $discuz_url = &lsquo;ht...2016-11-25
  • mybatis 返回Integer,Double,String等类型的数据操作

    这篇文章主要介绍了mybatis 返回Integer,Double,String等类型的数据操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-11-25
  • SpringBoot集成Redis实现消息队列的方法

    这篇文章主要介绍了SpringBoot集成Redis实现消息队列的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-02-10
  • 详解springBoot启动时找不到或无法加载主类解决办法

    这篇文章主要介绍了详解springBoot启动时找不到或无法加载主类解决办法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-09-16
  • 解决Springboot get请求是参数过长的情况

    这篇文章主要介绍了解决Springboot get请求是参数过长的情况,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-09-17
  • Ruby on Rails实现最基本的用户注册和登录功能的教程

    这里我们主要以has_secure_password的用户密码验证功能为中心,来讲解Ruby on Rails实现最基本的用户注册和登录功能的教程,需要的朋友可以参考下...2020-06-30
  • Springboot+TCP监听服务器搭建过程图解

    这篇文章主要介绍了Springboot+TCP监听服务器搭建过程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-10-28
  • PHP中SSO Cookie登录分析和实现

    什么是SSO?单点登录SSO(Single Sign-On)是身份管理中的一部分。SSO的一种较为通俗的定义是:SSO是指访问同一服务器不同应用中的受保护资源的同一用户,只需要登录一次,即通过一个应用中的安全验证后,再访问其他应用中的受保护...2015-11-08
  • php有效防止同一用户多次登录

    【问题描述】:同一用户在同一时间多次登录如果不能检测出来,是危险的。因为,你无法知道是否有其他用户在登录你的账户。如何禁止同一用户多次登录呢? 【解决方案】 (1) 每次登录,身份认证成功后,重新产生一个session_id。 s...2015-11-24
  • Spring Boot项目@RestController使用重定向redirect方式

    这篇文章主要介绍了Spring Boot项目@RestController使用重定向redirect方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-09-02
  • MyBatis-Plus的物理删除和逻辑删除(使用场景)

    数据库中的数据删除会分为两种:物理删除 和 逻辑删除,接下来通过本文给大家介绍MyBatis-Plus的物理删除和逻辑删除使用场景分析,感兴趣的朋友一起看看吧...2021-09-25
  • springBoot 项目排除数据库启动方式

    这篇文章主要介绍了springBoot 项目排除数据库启动方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-09-10
  • PHP中SSO Cookie登录分析和实现

    什么是SSO?单点登录SSO(Single Sign-On)是身份管理中的一部分。SSO的一种较为通俗的定义是:SSO是指访问同一服务器不同应用中的受保护资源的同一用户,只需要登录一次,即通过一个应用中的安全验证后,再访问其他应用中的受保护...2015-11-08
  • Springboot如何使用mybatis实现拦截SQL分页

    这篇文章主要介绍了Springboot使用mybatis实现拦截SQL分页,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-06-19