SpringBoot+MyBatis Plus實現(xiàn)用戶登錄認證
本文主要介紹了 SpringBoot+MyBatis Plus實現(xiàn)用戶登錄認證,具體如下:
一、創(chuàng)建用戶表 SQL
首先,我們創(chuàng)建一個 user
表來存儲用戶信息:
CREATE TABLE `user` ( `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主鍵', `username` VARCHAR(50) NOT NULL UNIQUE COMMENT '用戶名', `password` VARCHAR(100) NOT NULL COMMENT '密碼(建議加密存儲)', `nickname` VARCHAR(50) DEFAULT NULL COMMENT '昵稱', `avatar` VARCHAR(255) DEFAULT NULL COMMENT '頭像URL', `email` VARCHAR(100) DEFAULT NULL COMMENT '郵箱', `phone` VARCHAR(20) DEFAULT NULL COMMENT '手機號', `status` TINYINT NOT NULL DEFAULT '1' COMMENT '狀態(tài):0-禁用,1-啟用', `create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '創(chuàng)建時間', `update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新時間', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用戶表';
二、Spring Boot + MyBatis Plus 實現(xiàn)登錄認證功能
1. 添加依賴([pom.xml](file://D:\workspace\vue_workspace\burns-book-backend\pom.xml))
確保你已引入以下依賴:
<dependencies> <!-- Spring Boot Starter --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- MyBatis Plus --> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.5.1</version> </dependency> <!-- MySQL 驅(qū)動 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.30</version> </dependency> <!-- Lombok(可選) --> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.24</version> <scope>provided</scope> </dependency> </dependencies>
2. 配置數(shù)據(jù)庫連接(application.yml)
spring: datasource: url: jdbc:mysql://localhost:3306/your_database?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai username: root password: your_password driver-class-name: com.mysql.cj.jdbc.Driver mybatis-plus: mapper-locations: classpath*:mapper/**/*.xml configuration: mapUnderscoreToCamelCase: true
3. 創(chuàng)建實體類User.java
package com.burns.entity; import lombok.Data; @Data public class User { private Long id; private String username; private String password; private String nickname; private String avatar; private String email; private String phone; private Integer status; }
4. 創(chuàng)建 Mapper 接口UserMapper.java
package com.burns.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.burns.entity.User; public interface UserMapper extends BaseMapper<User> { }
5. 創(chuàng)建 Service 層UserService.java
package com.burns.service; import com.burns.entity.User; public interface UserService { User login(String username, String password); }
實現(xiàn)類 UserServiceImpl.java
package com.burns.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.burns.entity.User; import com.burns.mapper.UserMapper; import com.burns.service.UserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @Service public class UserServiceImpl implements UserService { @Autowired private UserMapper userMapper; @Override public User login(String username, String password) { QueryWrapper<User> wrapper = new QueryWrapper<>(); wrapper.eq("username", username).eq("password", password); return userMapper.selectOne(wrapper); } }
6. 控制器層AuthController.java
package com.burns.controller; import com.burns.entity.User; import com.burns.service.UserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; @RestController public class AuthController { @Autowired private UserService userService; @PostMapping("/login") public Object login(@RequestParam String username, @RequestParam String password) { User user = userService.login(username, password); if (user == null) { return "登錄失敗"; } return user; } }
? 測試接口
你可以使用 Postman 或 curl 測試登錄接口:
POST http://localhost:8080/login Body (form-data): username=admin password=123456
?? 總結表格
文件 | 說明 |
---|---|
user.sql | 創(chuàng)建用戶表的 SQL 腳本 |
User.java | 用戶實體類 |
UserMapper.java | 數(shù)據(jù)庫操作接口 |
UserService.java / UserServiceImpl.java | 登錄邏輯處理 |
AuthController.java | 提供 /login 接口 |
如果你需要進一步集成 JWT、Shiro、Spring Security 等安全框架,請告訴我,我可以繼續(xù)為你擴展。
到此這篇關于SpringBoot+MyBatis Plus實現(xiàn)用戶登錄認證的文章就介紹到這了,更多相關SpringBoot MyBatis Plus登錄認證內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
- SpringBoot整合Shiro實現(xiàn)登錄認證的方法
- springboot前后端分離集成CAS單點登錄(統(tǒng)一認證)
- SpringBoot+Vue+JWT的前后端分離登錄認證詳細步驟
- SpringBoot?實現(xiàn)CAS?Server統(tǒng)一登錄認證的詳細步驟
- Vue+Jwt+SpringBoot+Ldap完成登錄認證的示例代碼
- 基于springboot實現(xiàn)整合shiro實現(xiàn)登錄認證以及授權過程解析
- Springboot+Spring Security實現(xiàn)前后端分離登錄認證及權限控制的示例代碼
- SpringBoot整合Sa-Token實現(xiàn)登錄認證的示例代碼
- Springboot整合SpringSecurity實現(xiàn)登錄認證和鑒權全過程
相關文章
SpringCloud OpenFeign Post請求400錯誤解決方案
這篇文章主要介紹了SpringCloud OpenFeign Post請求400錯誤解決方案,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-09-09多jdk環(huán)境下指定springboot外部配置文件詳解
這篇文章主要為大家介紹了多jdk環(huán)境下指定springboot外部配置文件詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-03-03java long轉(zhuǎn)String +Codeforces110A案例
這篇文章主要介紹了java long轉(zhuǎn)String +Codeforces110A案例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-09-09Spring Cloud Gateway全局通用異常處理的實現(xiàn)
這篇文章主要介紹了Spring Cloud Gateway全局通用異常處理的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-05-05