——————————DescriptionStart——————————
运行环境
Java≥8、MySQL≥5.7
开发工具
eclipse/idea/myeclipse/sts等均可配置运行
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明











基于javaweb的SpringBoot学生信息管理系统(java+springboot+maven+mybaits+html+thymeleaf+easyui+mysql)
项目介绍
Springboot学生信息管理系统主要分为管理员、教师、学生三种角色。 管理员角色主要功能如下: 学生信息管理:学生查询、新增、编辑、删除等; 班级信息管理:班级查询、新增、编辑、删除等; 教师信息管理:教师查询、新增、编辑、删除等; 课程信息管理:课程查询、新增、编辑、删除等; 选课信息管理:选课查询、新增、编辑、删除等; 考勤信息管理:考勤查询、新增、编辑、删除等; 请假信息管理:请假查询、新增、编辑、删除等; 成绩信息管理:成绩查询、新增、编辑、删除等; 成绩统计:区间统计图、平均统计图; 系统管理:修改密码;
教师主要功能如下: 学生信息管理:学生查询、新增、编辑、删除等; 班级信息管理:班级查询、新增、编辑、删除等; 教师信息管理:教师查询、新增、编辑、删除等; 课程信息管理:课程查询、新增、编辑、删除等; 选课信息管理:选课查询、新增、编辑、删除等; 考勤信息管理:考勤查询、新增、编辑、删除等; 请假信息管理:请假查询、新增、编辑、删除等; 成绩信息管理:成绩查询、新增、编辑、删除等; 教师用户仅可查看自己权限下的信息。
学生主要功能如下: 学生信息管理:学生查询、新增、编辑、删除等; 选课信息管理:选课查询、新增、编辑、删除等; 考勤信息管理:考勤查询、新增、编辑、删除等; 请假信息管理:请假查询、新增、编辑、删除等; 成绩信息管理:成绩查询、新增、编辑、删除等; 学生用户仅可查看自己的信息。
环境需要
1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。 2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA; 3.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS; 4.数据库:MySql 5.7/8.0版本均可; 5.是否Maven项目:是;
技术栈
后端:SpringBoot+Mybaits
前端:Html+css+easyui+h-ui
使用说明
项目运行: 1. 使用Navicat或者其它工具,在mysql中创建对应sql文件名称的数据库,并导入项目的sql文件; 2. 使用IDEA/Eclipse/MyEclipse导入项目,导入成功后请执行maven clean;maven install命令,然后运行; 3. 将项目中application.yml配置文件中的数据库配置改为自己的配置; 4. 运行项目,在浏览器中输入地址:http://localhost:8080/ 管理员账号、密码:admin/123456 教师账号、密码:张三/111 学生账号、密码:张三纷/123456
——————————CodeStart——————————
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
| List<SelectedCourse> selectedCourseList = selectedCourseService.getAllBySid(Integer.parseInt(studentid)); List<Integer> ids = new ArrayList<>(); for(SelectedCourse selectedCourse : selectedCourseList){ ids.add(selectedCourse.getCourseId()); } List<Course> courseList = courseService.getCourseById(ids); return courseList; }
@PostMapping("/addAttendance") @ResponseBody public AjaxResult addAttendance(Attendance attendance){ AjaxResult ajaxResult = new AjaxResult(); attendance.setDate(DateFormatUtil.getFormatDate(new Date(),"yyyy-MM-dd")); if(attendanceService.isAttendance(attendance)){ ajaxResult.setSuccess(false); ajaxResult.setMessage("已签到,请勿重复签到!"); }else{ int count = attendanceService.addAtendance(attendance); if(count > 0){ ajaxResult.setSuccess(true); ajaxResult.setMessage("签到成功"); }else{ ajaxResult.setSuccess(false); ajaxResult.setMessage("系统错误,请重新签到"); } } return ajaxResult; }
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
| createRow.createCell(1).setCellValue("课程"); createRow.createCell(2).setCellValue("成绩"); createRow.createCell(3).setCellValue("备注"); int row = 1; for( Score s:scoreList){ createRow = createSheet.createRow(row++); createRow.createCell(0).setCellValue(s.getStudentName()); createRow.createCell(1).setCellValue(s.getCourseName()); createRow.createCell(2).setCellValue(s.getScore()); createRow.createCell(3).setCellValue(s.getRemark()); } xssfWorkbook.write(outputStream); outputStream.flush(); outputStream.close(); } catch (Exception e) { e.printStackTrace(); } }
@RequestMapping("/scoreStats") public String scoreStats(){ return "/score/scoreStats"; }
@RequestMapping("/getScoreStatsList") @ResponseBody public Object getScoreStatsList(@RequestParam(value = "courseid", defaultValue = "0")Integer courseid, String searchType){ AjaxResult ajaxResult = new AjaxResult(); if(searchType.equals("avg")){
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
| return ajaxResult; }
@PostMapping("/editCourse") @ResponseBody public AjaxResult editCourse(Course course){ AjaxResult ajaxResult = new AjaxResult(); try { int count = courseService.editCourse(course); if(count > 0){ ajaxResult.setSuccess(true); ajaxResult.setMessage("修改成功"); }else{ ajaxResult.setSuccess(false); ajaxResult.setMessage("修改失败"); } }catch (Exception e){ e.printStackTrace(); ajaxResult.setSuccess(false); ajaxResult.setMessage("修改失败"); } return ajaxResult; }
@PostMapping("/deleteCourse") @ResponseBody public AjaxResult deleteCourse(Data data){ AjaxResult ajaxResult = new AjaxResult(); try { int count = courseService.deleteCourse(data.getIds()); if(count > 0){ ajaxResult.setSuccess(true); ajaxResult.setMessage("删除成功"); }else{ ajaxResult.setSuccess(false); ajaxResult.setMessage("删除失败"); }
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
| String uuidName = UUID.randomUUID().toString();
try { File newFile = new File(fileDir.getAbsolutePath() + File.separator +uuidName+ extName); fileImg.transferTo(newFile);
Teacher byId = teacherService.findById(teacher.getId()); File file = new File(fileDir.getAbsolutePath() + File.separator + byId.getPhoto()); if(file != null){ }
} catch (IOException e) { e.printStackTrace(); } teacher.setPhoto(uuidName+extName); }
try{ int count = teacherService.editTeacher(teacher); if(count > 0){ ajaxResult.setSuccess(true); ajaxResult.setMessage("修改成功"); }else{ ajaxResult.setSuccess(false); ajaxResult.setMessage("修改失败"); } }catch(Exception e){ e.printStackTrace(); ajaxResult.setSuccess(false); ajaxResult.setMessage("修改失败"); } return ajaxResult; } }
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
| } if(StringUtils.isEmpty(code)){ ajaxResult.setSuccess(false); ajaxResult.setMessage("请填验证码"); return ajaxResult; } if(StringUtils.isEmpty(session.getAttribute(Const.CODE))){ ajaxResult.setSuccess(false); ajaxResult.setMessage("会话时间过长,请刷新"); return ajaxResult; }else{ if(!code.equalsIgnoreCase((String) session.getAttribute(Const.CODE))){ ajaxResult.setSuccess(false); ajaxResult.setMessage("验证码错误"); return ajaxResult; } }
switch (type){ case "1":{ Admin admin = new Admin(); admin.setPassword(password); admin.setUsername(username); Admin ad = adminService.findByAdmin(admin); if(StringUtils.isEmpty(ad)){ ajaxResult.setSuccess(false); ajaxResult.setMessage("用户名或密码错误"); return ajaxResult; } ajaxResult.setSuccess(true); session.setAttribute(Const.ADMIN,ad); session.setAttribute(Const.USERTYPE,"1"); break; } case "2":{ Student student = new Student(); student.setPassword(password); student.setUsername(username); Student st = studentService.findByStudent(student); if(StringUtils.isEmpty(st)){ ajaxResult.setSuccess(false); ajaxResult.setMessage("用户名或密码错误"); return ajaxResult; } ajaxResult.setSuccess(true); session.setAttribute(Const.STUDENT,st); session.setAttribute(Const.USERTYPE,"2");
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
| }
ajaxResult.setSuccess(true); return ajaxResult; }
@PostMapping("/editStudent") @ResponseBody public AjaxResult editStudent(@RequestParam("file") MultipartFile[] files,Student student){ AjaxResult ajaxResult = new AjaxResult();
File fileDir = UploadUtil.getImgDirFile(); for(MultipartFile fileImg : files){
String name = fileImg.getOriginalFilename(); if(name.equals("")){ break; }
String extName = fileImg.getOriginalFilename().substring(fileImg.getOriginalFilename().lastIndexOf(".")); String uuidName = UUID.randomUUID().toString();
try { File newFile = new File(fileDir.getAbsolutePath() + File.separator +uuidName+ extName); fileImg.transferTo(newFile);
Student byId = studentService.findById(student.getId()); File file = new File(fileDir.getAbsolutePath() + File.separator + byId.getPhoto()); if(file != null){
|
——————————PayStart——————————
项目链接:
https://javayms.github.io?id=051524180701201ho
https://javayms.pages.dev?id=051524180701201ho