课程信息管理功能提供了完整的课程CRUD操作,包括课程的查询、创建、更新和删除功能。支持分页查询、搜索过滤、批量操作等特性。
- Spring Boot 2.7.0 - 主框架
- MyBatis Plus 3.5.2 - ORM框架
- MySQL - 数据库
- Spring Validation - 数据验证
- Lombok - 代码简化
- Vue 3 - 前端框架
- Element Plus - UI组件库
- Axios - HTTP客户端
- Pinia - 状态管理
backend/src/main/java/com/mkstu/score/entity/Course.java- 课程实体类backend/src/main/java/com/mkstu/score/mapper/CourseMapper.java- 数据访问层backend/src/main/java/com/mkstu/score/service/CourseService.java- 服务接口backend/src/main/java/com/mkstu/score/service/impl/CourseServiceImpl.java- 服务实现backend/src/main/java/com/mkstu/score/controller/CourseController.java- 控制器backend/src/main/java/com/mkstu/score/dto/CourseRequest.java- 请求DTO
frontend/src/api/course.js- API调用文件frontend/src/views/admin/CourseInfoManagement.vue- 课程管理页面(已更新)
mysql-deploy/local-version/init.sql- 数据库初始化脚本(已更新)
- 分页查询 - 支持分页浏览课程列表,可按关键字搜索
- 添加课程 - 表单验证,支持所有课程字段录入
- 编辑课程 - 修改现有课程信息
- 删除课程 - 单个删除和批量删除
- 课程详情 - 查看课程完整信息
- 数据验证 - 前后端双重验证,确保数据完整性
cd backend
mvn spring-boot:runcd frontend
npm run dev执行 mysql-deploy/local-version/init.sql 脚本
登录系统后,在管理员界面中找到"课程信息管理"菜单
http://localhost:8081/api/courses
GET /page- 分页查询课程列表POST /- 创建课程PUT /{id}- 更新课程DELETE /{id}- 删除课程DELETE /batch- 批量删除
- 课程编码:必填,最大20字符,唯一
- 课程名称:必填,最大100字符
- 学分:必填,0.0-10.0范围
- 课程类型:必填,1-必修课,2-选修课,3-实践课
- 开课院系:必填,最大50字符
- 授课教师:必填,最大50字符
- 课程容量:必填,1-500范围
- 课程编码具有唯一性约束
- 采用软删除机制
- 支持模糊搜索(课程名称、编码、教师、院系)
- 新课程默认已选人数为0
- 需要管理员权限访问