JAVA毕业设计239—基于Java+Springboot+vue的教学评价系统(源代码+数据库)
毕设所有选题:
https://blog.csdn.net/2303_76227485/article/details/131104075
基于Java+Springboot+vue的教学评价系统(源代码+数据库)239
一、系统介绍
本项目前后端分离,分为用户、教师、管理员三种角色(角色和菜单可自定义)。
1、用户:
- 登录、问卷填写、学生评教、教师评学、密码修改
2、教师:
- 评教详情、评分数据图表、导出、教师评学、教师课程管理、学生课程管理
3、管理员:
- 问卷管理、问卷填写、数据图表、指标管理、学生评教管理、课程管理、教师评学管理、教师管理、教师课程管理、学生管理、学生课程管理、用户管理、菜单管理、角色管理
二、所用技术
后端技术栈:
- Springboot
- mybatisPlus
- Mysql
- Maven
前端技术栈:
- Vue
- Vue-router
- axios
- elementui
- echarts
三、环境介绍
基础环境 :IDEA/eclipse, JDK1.8, Mysql5.7及以上, Maven3.6, node14, navicat
所有项目以及源代码本人均调试运行无问题 可支持远程调试运行
四、页面截图
1、用户:







2、教师:









3、管理员:

















五、浏览地址
前台访问地址:http://localhost:8080
用户账号密码:zhangsan/123456
管理员账号密码:admin/123456
教师账号密码:lisi/123456
六、部署教程
-
使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并执行项目的sql文件
-
使用IDEA/Eclipse导入F:\educationProject\教务管理系统\teaching-evaluation-system项目,若为maven项目请选择maven,等待依赖下载完成
-
修改application-dev.yml里面的数据库配置,src/main/java/com/geqian/evalution/teachingevalution/TeachingEvalutionApplication.java启动后端项目
-
vscode或idea打开teaching-evaluation-vue项目
-
在编译器中打开terminal,执行npm install 依赖下载完成后执行 npm run serve,执行成功后会显示后台访问地址
七、创新点
1、可以实现教师和学生的双向评价
八、部分代码
@Api(tags = "学生课程管理")
@RestController
@RequestMapping("/studentCourse")
public class CourseStudentController {
@Resource
private CourseStudentService courseStudentService;
@ApiOperation("获取学生课程列表")
@GetMapping("/getStudentCourseList")
public ResponseResult<Object> getStudentCourseList(PageRequest pageRequest,@RequestHeader("token")String token){
return courseStudentService.getStudentCourseList(pageRequest,token);
}
@ApiOperation("删除学生课程信息")
@PostMapping("/deleteStudentCourse")
public ResponseResult<Object> deleteStudentCourse(@RequestBody List<StudentCourseVo> studentCourseVoList){
return courseStudentService.deleteStudentCourse(studentCourseVoList);
}
}
/**
* @author Administrator
* @description 针对表【course_student】的数据库操作Service实现
* @createDate 2025-09-19 11:53:51
*/
@Service
public class CourseStudentServiceImpl extends ServiceImpl<CourseStudentMapper, CourseStudent>
implements CourseStudentService {
@Autowired
private UserMapper userMapper;
@Override
public ResponseResult<Object> getStudentCourseList(PageRequest pageRequest,String token) {
String userId = JwtUtils.parseToken(token);
User user = userMapper.selectById(userId);
String teacherId = null;
if(user!=null && !user.getUserType().equals("3")){
teacherId = userId;
}
//teacherId = null;
PageHelper.startPage(pageRequest.getPageNum(), pageRequest.getPageSize());
List<StudentCourseVo> studentCourseList = this.baseMapper.selectStudentCourseList(pageRequest.getKey(),teacherId);
PageInfo<StudentCourseVo> pageInfo = new PageInfo<>(studentCourseList);
PageResult<StudentCourseVo> pageResult = PageUtils.getPageResult(pageInfo);
return ResponseResult.success(pageResult);
}
@Override
public ResponseResult<Object> deleteStudentCourse(List<StudentCourseVo> studentCourseVoList) {
if (!CollectionUtils.isEmpty(studentCourseVoList)) {
for (StudentCourseVo studentCourseVo : studentCourseVoList) {
LambdaQueryWrapper<CourseStudent> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(CourseStudent::getCourseId, studentCourseVo.getCourseId())
.eq(CourseStudent::getStudentId, studentCourseVo.getStudentId());
this.remove(wrapper);
}
return ResponseResult.success();
}
return ResponseResult.fail();
}
}
());
this.remove(wrapper);
}
return ResponseResult.success();
}
return ResponseResult.fail();
}
}
更多推荐

所有评论(0)