SpringBoot+MyBatis Plus实现用户登录认证
作者:爱的叹息
本文介绍了使用Spring Boot和MyBatis Plus实现用户登录认证功能的完整流程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
本文主要介绍了 SpringBoot+MyBatis Plus实现用户登录认证,具体如下:
一、创建用户表 SQL
首先,我们创建一个 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 '状态:0-禁用,1-启用', `create_time` DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `update_time` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户表';
二、Spring Boot + MyBatis Plus 实现登录认证功能
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 驱动 --> <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. 配置数据库连接(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. 创建实体类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. 创建 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. 创建 Service 层UserService.java
package com.burns.service; import com.burns.entity.User; public interface UserService { User login(String username, String password); }
实现类 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 | 创建用户表的 SQL 脚本 |
User.java | 用户实体类 |
UserMapper.java | 数据库操作接口 |
UserService.java / UserServiceImpl.java | 登录逻辑处理 |
AuthController.java | 提供 /login 接口 |
如果你需要进一步集成 JWT、Shiro、Spring Security 等安全框架,请告诉我,我可以继续为你扩展。
到此这篇关于SpringBoot+MyBatis Plus实现用户登录认证的文章就介绍到这了,更多相关SpringBoot MyBatis Plus登录认证内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
您可能感兴趣的文章:
- SpringBoot整合Shiro实现登录认证的方法
- springboot前后端分离集成CAS单点登录(统一认证)
- SpringBoot+Vue+JWT的前后端分离登录认证详细步骤
- SpringBoot 实现CAS Server统一登录认证的详细步骤
- Vue+Jwt+SpringBoot+Ldap完成登录认证的示例代码
- 基于springboot实现整合shiro实现登录认证以及授权过程解析
- Springboot+Spring Security实现前后端分离登录认证及权限控制的示例代码
- SpringBoot整合Sa-Token实现登录认证的示例代码
- Springboot整合SpringSecurity实现登录认证和鉴权全过程