下面我将为您详细讲解“IDEA下创建SpringBoot+MyBatis+MySql项目实现动态登录与注册功能”的完整攻略。
环境准备
首先,我们需要在本地环境中安装好如下软件:
- JDK、IDEA、Maven、MySQL等开发环境
- SpringBoot、MyBatis、MySql等相关依赖包
创建SpringBoot项目
步骤如下:
-
打开IDEA,选择
Create New Project
,选择Spring Initializr
,点击Next
。 -
在弹出的界面中选择
Web
、MySql
、Thymeleaf
等相关依赖,点击Next
。 -
给项目起一个名字,选择项目的存储位置,点击
Finish
。 -
等待IDEA自动下载所需依赖包,并将这些依赖添加到项目的
pom.xml
文件中。
配置数据库
为了让我们的SpringBoot应用程序能够连接MySQL数据库,我们需要进行相关的配置。
- 打开项目中的
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
注:上述代码的 数据库名
、用户名
、密码
等需要修改为实际的值,这里仅供参考。
- 新建一个名为
User
的实体类,用于存储用户的注册信息,代码如下:
public class User {
private Integer id; // 用户ID
private String username; // 用户名
private String password; // 密码
private String email; // 邮箱
// getter和setter方法省略
}
- 新建一个名为
UserMapper
的接口类,用于将用户的注册信息映射到MySQL数据库中,代码如下:
@Mapper
public interface UserMapper {
void save(User user); // 新增用户
User findByUsername(String username); // 根据用户名查询用户
}
- 新建一个名为
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代码
- 新建一个名为
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";
}
}
- 新建一个名为
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>
- 新建一个名为
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>
测试运行
- 配置好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='用户表';
-
运行SpringBoot项目,在浏览器中输入
http://localhost:8080/register
进入注册页面,填写相关信息完成注册。 -
登录成功后,系统跳转到首页。
以上就是实现SpringBoot+MyBatis+MySQL通过动态注册和登录功能的完整攻略。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:IDEA下创建SpringBoot+MyBatis+MySql项目实现动态登录与注册功能 - Python技术站