IDEA下创建SpringBoot+MyBatis+MySql项目实现动态登录与注册功能

下面我将为您详细讲解“IDEA下创建SpringBoot+MyBatis+MySql项目实现动态登录与注册功能”的完整攻略。

环境准备

首先,我们需要在本地环境中安装好如下软件:

  • JDK、IDEA、Maven、MySQL等开发环境
  • SpringBoot、MyBatis、MySql等相关依赖包

创建SpringBoot项目

步骤如下:

  1. 打开IDEA,选择 Create New Project ,选择 Spring Initializr,点击 Next

  2. 在弹出的界面中选择 WebMySqlThymeleaf等相关依赖,点击 Next

  3. 给项目起一个名字,选择项目的存储位置,点击 Finish

  4. 等待IDEA自动下载所需依赖包,并将这些依赖添加到项目的 pom.xml文件中。

配置数据库

为了让我们的SpringBoot应用程序能够连接MySQL数据库,我们需要进行相关的配置。

  1. 打开项目中的 application.properties 文件,添加如下内容:
spring.datasource.url=jdbc:mysql://localhost:3306/数据库名?characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true
spring.datasource.username=用户名
spring.datasource.password=密码
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

注:上述代码的 数据库名用户名密码 等需要修改为实际的值,这里仅供参考。

  1. 新建一个名为 User的实体类,用于存储用户的注册信息,代码如下:
public class User {
    private Integer id;          // 用户ID
    private String username;    // 用户名
    private String password;    // 密码
    private String email;       // 邮箱

    // getter和setter方法省略
}
  1. 新建一个名为 UserMapper 的接口类,用于将用户的注册信息映射到MySQL数据库中,代码如下:
@Mapper
public interface UserMapper {
    void save(User user);                 // 新增用户
    User findByUsername(String username); // 根据用户名查询用户
}
  1. 新建一个名为 UserMapper.xml的映射文件,用于定义查询语句和SQL语句,代码如下:
<?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.example.demo.mapper.UserMapper">
    <!-- 新增用户 -->
    <insert id="save">
        insert into User (username, password, email)
        values(#{username}, #{password}, #{email})
    </insert>

    <!-- 根据用户名查询用户 -->
    <select id="findByUsername" resultType="User">
        select *
        from User
        where username = #{username}
    </select>
</mapper>

编写Controller代码

  1. 新建一个名为 UserController 的控制器,用于处理用户注册、登录等逻辑。其代码如下:
@Controller
public class UserController {

    @Autowired
    private UserMapper userMapper;

    @GetMapping("/login")
    public String login(){
        return "login";
    }

    @GetMapping("/register")
    public String register(){
        return "register";
    }

    @PostMapping("/register")
    public String register(User user){
        userMapper.save(user);
        return "redirect:/login";
    }

    @PostMapping("/login")
    public String login(String username, String password, HttpSession session){
        User user = userMapper.findByUsername(username);
        if(user != null && user.getPassword().equals(password)){
            session.setAttribute("user", user);
            return "redirect:/index";
        }
        return "redirect:/login";
    }

}
  1. 新建一个名为 login.html 的登录页面,代码如下:
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <title>登录页面</title>
</head>
<body>
<h1>登录页面</h1>

<form action="/login" method="post">
    用户名:<input type="text" name="username"/><br/>
    密码:<input type="password" name="password"/><br/>
    <button type="submit">登录</button>
</form>

</body>
</html>
  1. 新建一个名为 register.html 的注册页面,代码如下:
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <title>注册页面</title>
</head>
<body>
<h1>注册页面</h1>

<form action="/register" method="post">
    用户名:<input type="text" name="username"/><br/>
    密码:<input type="password" name="password"/><br/>
    邮箱:<input type="text" name="email"/><br/>
    <button type="submit">注册</button>
</form>

</body>
</html>

测试运行

  1. 配置好MySQL数据库,并在其中创建一个名为 user 的数据表。

创建语句如下:

CREATE TABLE `user` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '用户ID',
  `username` varchar(50) NOT NULL COMMENT '用户名',
  `password` varchar(50) NOT NULL COMMENT '密码',
  `email` varchar(50) DEFAULT NULL COMMENT '用户邮箱',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COMMENT='用户表';
  1. 运行SpringBoot项目,在浏览器中输入 http://localhost:8080/register进入注册页面,填写相关信息完成注册。

  2. 登录成功后,系统跳转到首页。

以上就是实现SpringBoot+MyBatis+MySQL通过动态注册和登录功能的完整攻略。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:IDEA下创建SpringBoot+MyBatis+MySql项目实现动态登录与注册功能 - Python技术站

(0)
上一篇 2023年5月20日
下一篇 2023年5月20日

相关文章

  • java框架基础之SPI机制实现及源码解析

    Java框架基础之SPI机制实现及源码解析 什么是SPI机制 SPI(Service Provider Interface)是Java提供的一套面向接口的类加载机制。简单来说,我们可以通过SPI机制来动态替换掉接口的默认实现。 在Java中,我们通常提供一个接口,并给出一个接口的默认实现。而在SPI中,我们则可以提供一个接口,以及多个不同实现该接口的类。在程…

    Java 2023年5月26日
    00
  • Spring后处理器详细介绍

    Spring后处理器详细介绍 Spring 后处理器是 Spring 框架提供的一个机制,用于在 Spring 容器对 Bean 进行实例化、配置和初始化的过程中,对被处理的对象进行额外的处理。 Spring 后处理器的类型 在 Spring 中,后处理器主要分为两类,分别是 BeanPostProcessor 和 BeanFactoryPostProces…

    Java 2023年5月19日
    00
  • Java实现获取行政区划的示例代码

    下面我将为您详细讲解“Java实现获取行政区划的示例代码”的完整攻略,并给出两条示例。 前置知识 在学习实现获取行政区划的示例代码之前,您需要掌握以下知识点: Java基础语法 HTTP请求 JSON数据格式 具体步骤 1.获取接口API 首先,你需要在网上找到一个提供行政区划API的接口。这里我们以高德地图API的行政区划查询接口为例: https://r…

    Java 2023年5月20日
    00
  • Java JDBC自定义封装工具类的步骤和完整代码

    Java JDBC是Java中进行关系型数据库操作的标准方式,它提供了丰富的API让我们灵活处理数据库的连接、操作和结果集。但是,使用Java JDBC进行开发时没有封装的话会显得冗长、繁琐,因此自定义封装工具类可以提高工作效率并提高代码可读性和可维护性。 下面是Java JDBC自定义封装工具类的步骤和完整代码攻略: 1.建立数据库连接 public cl…

    Java 2023年6月16日
    00
  • Android实现简易计算器小程序

    下面是实现简易计算器小程序的完整攻略,主要分以下四个部分: 项目准备 UI设计 逻辑实现 测试与发布 1. 项目准备 选择开发工具 推荐使用Android Studio,是当前Android开发的主流IDE,功能强大,使用方便。 创建Android项目 在Android Studio中创建一个新的Android项目,选择Empty Activity或者Bas…

    Java 2023年5月23日
    00
  • java Long类型转为json后数据损失精度的处理方式

    标准的JSON格式对于整型数字的最大范围支持是64位的有符号数字的取值范围,而在Java中Long类型是一个64位的有符号整数,因此在转换为JSON格式时,理论上不会存在数据范围限制和数据精度丢失的问题。但是在Java程序中经常会使用第三方JSON组件将Java对象转换为JSON格式的字符串进行传输和存储。此时需要注意JSON组件的一些特殊处理和配置,避免数…

    Java 2023年5月26日
    00
  • Jdbctemplate多数据源配置方法详解

    下面就具体讲解“Jdbctemplate多数据源配置方法详解”。 1. 什么是JdbcTemplate多数据源配置 JdbcTemplate多数据源配置是指在一个项目中使用多个数据源,通过JdbcTemplate进行数据操作的方法。JdbcTemplate是Spring框架提供的一个JDBC工具类,可以方便地进行JDBC操作,而多数据源配置是指在一个项目中使…

    Java 2023年6月16日
    00
  • Java 8中 Stream小知识小技巧方法梳理

    Java 8中 Stream小知识小技巧方法梳理 什么是Stream Stream是Java 8中的新特性,它能够处理大批量的数据,并且可以并发处理数据,极大地提升了Java程序的性能。Stream与Java中的集合类(如List、Set、Map等)不同之处在于,它并不直接存储数据,而是对数据进行处理。 Stream的原理 Stream中的数据是以流的方式进…

    Java 2023年5月26日
    00
合作推广
合作推广
分享本页
返回顶部