SpringBoot+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实现登录认证和鉴权全过程
相关文章
SpringCloud OpenFeign Post请求400错误解决方案
这篇文章主要介绍了SpringCloud OpenFeign Post请求400错误解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下2020-09-09
java long转String +Codeforces110A案例
这篇文章主要介绍了java long转String +Codeforces110A案例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2020-09-09
Spring Cloud Gateway全局通用异常处理的实现
这篇文章主要介绍了Spring Cloud Gateway全局通用异常处理的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2020-05-05


最新评论