SpringBoot+MyBatis實現(xiàn)登錄案例
1.創(chuàng)建一個SpringBoot項目

2.創(chuàng)建表
create database login; use login; create table userlogin( username varchar(49), password varchar(49) )
3.idea連接mysql

4. 創(chuàng)建實體類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.創(chuàng)建mapper。數(shù)據(jù)持久層UserLoginMapper接口
@Mapper
@Repository
public interface UserLoginMapper {
//定義增刪改查方法
//查詢所有
public List<UserLogin> queryAll();
//添加數(shù)據(jù)
public int add(UserLogin userLogin);
//根據(jù)用戶名查詢
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();
//添加數(shù)據(jù)
public int add(UserLogin userLogin);
//根據(jù)用戶名查詢
public UserLogin queryByUsername(String username);
}
}
8.編寫控制層MyController
@Controller
public class MyController {
//controller層調用service層
//創(chuàng)建一個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) {
//添加一條記錄到數(shù)據(jù)庫中
int add = userLoginServices.add(userLogin);
System.out.println("插入數(shù)據(jù)成功");
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登錄的資料請關注腳本之家其它相關文章!
相關文章
提高開發(fā)效率Live?Templates使用技巧詳解
這篇文章主要為大家介紹了提高開發(fā)效率Live?Templates使用技巧詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-01-01
SpringBoot項目調優(yōu)及垃圾回收器的比較詳解
這篇文章主要介紹了SpringBoot項目調優(yōu)及垃圾回收器的比較詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-04-04
SpringCloud Edgware.SR3版本中Ribbon的timeout設置方法
今天小編就為大家分享一篇關于SpringCloud Edgware.SR3版本中Ribbon的timeout設置方法,小編覺得內容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2018-12-12
Java數(shù)據(jù)結構中七種排序算法實現(xiàn)詳解
這篇文章主要介紹了Java數(shù)據(jù)結構中七種排序算法的實現(xiàn)方法,排序算法可分為兩大類,比較類排序和非比較類排序,顧名思義可知它們是通過比較來決定元素間的相對次序,需要詳細了解排序算法的朋友可以參考下2024-02-02

