作者主页:舒克日记
简介:Java领域优质创作者、Java项目、学习资料、技术互助
文中获取源码
项目介绍
基于SpringBoot+Vue的学生选课管理系统采用前后端分离的架构方式,系统分为管理员、老师、学生等三种角色,权限分配如下
管理员拥有所有权限
学生管理:可以对所有学生进行管理操作(新增学生、修改学生、删除学生)
教师管理:可以对所有教师进行管理操作(新增教师、修改教师、删除教师)
课程管理:可以对所有课程进行管理操作(新增课程、修改课程、删除课程)
开课表管理:对已开课进行管理(删除开课,搜索)
学生成绩管理:查询所有学生成绩,成绩录入等操作
教师拥有部分权限
教师编辑:编辑教师本人的信息
课程设置:查看自己开设的课程,选择课程并开课
教师成绩管理:可以查看并录入学生成绩
学生拥有部分权限
学生编辑:编辑本人的信息
选课管理:学生可以进行选课,以及对已选则的课表进行查看
学生成绩管理:查询学生本人的成绩
环境要求
1.运行环境:最好是java jdk1.8,我们在这个平台上运行的。其他版本理论上也可以。
2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;
3.tomcat环境:Tomcat7.x,8.X,9.x版本均可
4.硬件环境:windows7/8/10 4G内存以上;或者Mac OS;
5.是否Maven项目:是;查看源码目录中是否包含pom.xml;若包含,则为maven项目,否则为非maven.项目
6.数据库:MySql5.7/8.0等版本均可;
技术栈
项目运行环境:mysql5.7 + idea2020.3 + node + windows10
服务端技术选型:SpringBoot + Mybatis + mysql
前端技术选型及js库:Vue + ElementUI + axios
使用说明
1.使用Navicati或者其它工具,在mysql中创建对应sq文件名称的数据库,并导入项目的sql文件;
2.使用IDEA/Eclipse/MyEclipse导入项目,修改配置,运行项目;
3.将项目中config-propertiesi配置文件中的数据库配置改为自己的配置,然后运行;
运行指导
idea导入源码空间站顶目教程说明(Vindows版)-ssm篇:
http://mtw.so/5MHvZq
源码地址:http://codegym.top
运行截图
前端界面
登录页面
管理员
老师
学生
代码
CourseTeacherController
package com.auggie.student_server.controller;
import com.auggie.student_server.entity.Course;
import com.auggie.student_server.entity.CourseTeacher;
import com.auggie.student_server.entity.CourseTeacherInfo;
import com.auggie.student_server.service.CourseTeacherService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Map;
/**
* @Auther: auggie
* @Date: 2022/2/10 16:51
* @Description: CourseTeacherController
* @Version 1.0.0
*/
@RestController
@CrossOrigin("*")
@RequestMapping("/courseTeacher")
public class CourseTeacherController {
@Autowired
private CourseTeacherService courseTeacherService;
@GetMapping("/insert/{cid}/{tid}/{term}")
public boolean insert(@PathVariable Integer cid, @PathVariable Integer tid, @PathVariable String term) {
if (courseTeacherService.findBySearch(cid, tid, term).size() != 0) {
return false;
}
return courseTeacherService.insertCourseTeacher(cid, tid, term);
}
@GetMapping("/findMyCourse/{tid}/{term}")
public List<Course> findMyCourse(@PathVariable Integer tid, @PathVariable String term) {
System.out.println("查询教师课程:" + tid + " " + term);
return courseTeacherService.findMyCourse(tid, term);
}
@PostMapping("/findCourseTeacherInfo")
public List<CourseTeacherInfo> findCourseTeacherInfo(@RequestBody Map<String, String> map) {
return courseTeacherService.findCourseTeacherInfo(map);
}
@PostMapping("/deleteById")
public boolean deleteById(@RequestBody CourseTeacher courseTeacher) {
return courseTeacherService.deleteById(courseTeacher);
}
}