基于 Spring Boot 3.x + Vue 3 + Element Plus 的全栈学生管理系统
- Spring Boot 3.2.0
- MyBatis
- MySQL 8.0
- Sa-Token (登录鉴权)
- Lombok
- Spring Validation
- Vue 3
- Element Plus
- Vite
- Vue Router
- Pinia
- Axios
当前根目录
├── src/ # 后端代码
│ ├── main/
│ │ ├── java/com/example/studentmanagement/
│ │ │ ├── controller/ # 控制器
│ │ │ ├── service/ # 服务层
│ │ │ ├── mapper/ # Mapper接口
│ │ │ ├── entity/ # 实体类
│ │ │ ├── dto/ # 数据传输对象
│ │ │ ├── vo/ # 视图对象
│ │ │ └── config/ # 配置类
│ │ └── resources/
│ │ ├── mapper/ # MyBatis XML
│ │ ├── db/ # 数据库脚本
│ │ └── application.yml
│ └── test/
└── web/ # 前端代码
├── src/
│ ├── api/ # API接口
│ ├── assets/ # 静态资源
│ ├── components/ # 公共组件
│ ├── router/ # 路由配置
│ ├── store/ # 状态管理
│ ├── utils/ # 工具类
│ └── views/ # 页面组件
├── index.html
├── package.json
└── vite.config.js
执行 src/main/resources/db/schema.sql 创建数据库和表结构。
修改 src/main/resources/application.yml 中的数据库连接信息:
spring:
datasource:
url: jdbc:mysql://localhost:3306/student_db?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai
username: root
password: rootcd student-management-system
mvn clean install
mvn spring-boot:run后端服务运行在 http://localhost:8080
cd web
npm install
npm run dev前端服务运行在 http://localhost:5173
- 管理员:admin / admin123
- 普通用户:user / user123
- ✅ 用户登录/登出
- ✅ 学生信息管理(增删改查、分页、模糊搜索)
- ✅ 班级管理(增删改查)
- ✅ 权限控制(基于 Sa-Token)
- ✅ 统一异常处理
- ✅ 参数校验
- ✅ 前后端分离架构
- ✅ RESTful API
POST /api/auth/login- 用户登录POST /api/auth/logout- 用户登出GET /api/auth/info- 获取用户信息
GET /api/student/list- 获取学生列表(支持分页和搜索)GET /api/student/{id}- 获取学生详情POST /api/student- 新增学生PUT /api/student- 更新学生DELETE /api/student/{id}- 删除学生
GET /api/class/list- 获取班级列表GET /api/class/{id}- 获取班级详情POST /api/class- 新增班级PUT /api/class- 更新班级DELETE /api/class/{id}- 删除班级
- Controller 层处理 HTTP 请求
- Service 层处理业务逻辑
- Mapper 层处理数据库操作
- 使用
Result<T>统一响应结构 - 使用
@Valid进行参数校验
- API 请求统一封装在
src/api/目录 - 使用 Pinia 进行状态管理
- 使用 Vue Router 进行路由管理
- 使用 Element Plus 组件库
微信:daimazhan



