SpringBoot+MyBatis實(shí)現(xiàn)登錄案例
1.創(chuàng)建一個(gè)SpringBoot項(xiàng)目
2.創(chuàng)建表
create database login; use login; create table userlogin( username varchar(49), password varchar(49) )
3.idea連接mysql
4. 創(chuàng)建實(shí)體類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="自己的實(shí)體類接口"> select * from userlogin </select> <insert id="add" parameterType="自己的實(shí)體類接口"> insert into userlogin values (#{username},#{password}) </insert> <select id="queryByUsername" resultType="自己的實(shí)體類接口"> 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層調(diào)用service層 //創(chuàng)建一個(gè)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> 確認(rèn)密碼:<input type="text" name="password2" placeholder="請輸入密碼" required/><br><br> <input type="submit" value="注冊"> </form> </div> </body> </html>
success.html:成功頁面
以上就是SpringBoot+MyBatis登錄案例的詳細(xì)內(nèi)容,更多關(guān)于SpringBoot MyBatis登錄的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
提高開發(fā)效率Live?Templates使用技巧詳解
這篇文章主要為大家介紹了提高開發(fā)效率Live?Templates使用技巧詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-01-01SpringBoot項(xiàng)目調(diào)優(yōu)及垃圾回收器的比較詳解
這篇文章主要介紹了SpringBoot項(xiàng)目調(diào)優(yōu)及垃圾回收器的比較詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04SpringCloud Edgware.SR3版本中Ribbon的timeout設(shè)置方法
今天小編就為大家分享一篇關(guān)于SpringCloud Edgware.SR3版本中Ribbon的timeout設(shè)置方法,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2018-12-12spring boot自定義404錯(cuò)誤信息的方法示例
這篇文章主要介紹了spring boot自定義404錯(cuò)誤信息的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考借鑒,下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2017-09-09利用Sharding-Jdbc進(jìn)行分庫分表的操作代碼
sharding-jdbc是一個(gè)分布式的關(guān)系型數(shù)據(jù)庫中間件,今天通過本文給大家介紹利用Sharding-Jdbc進(jìn)行分庫分表的操作代碼,代碼簡單易懂對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2022-01-01MyBatis Example And與Or混合使用的實(shí)例
這篇文章主要介紹了MyBatis Example And與Or混合使用的實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-12-12Java數(shù)據(jù)結(jié)構(gòu)中七種排序算法實(shí)現(xiàn)詳解
這篇文章主要介紹了Java數(shù)據(jù)結(jié)構(gòu)中七種排序算法的實(shí)現(xiàn)方法,排序算法可分為兩大類,比較類排序和非比較類排序,顧名思義可知它們是通過比較來決定元素間的相對次序,需要詳細(xì)了解排序算法的朋友可以參考下2024-02-02