基于javaweb和mysql的springboot学生信息管理系统(java+springboot+html+thymeleaf+js+bootstrap+maven+mybatis+mysql)

私信源码获取及调试交流

私信源码获取及调试交流

运行环境

Java≥8、MySQL≥5.7

开发工具

eclipse/idea/myeclipse/sts等均可配置运行

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

基于javaweb的SpringBoot学生信息管理系统(java+springboot+html+thymeleaf+js+bootstrap+maven+mybatis+mysql)


admin   123456

教师(teacher表):

20240001	123456

20240002	123456

学生(student表):

202400001	123456

202400002	123456

管理员、教师、学生分别有如下功能:

管理员:

公告管理

课程管理

课程选报查看

学生管理

学生选课查看

教师管理(含设置所授课程)

班级管理

教师:

查看公告

查看自己教授的课程

查看选了自己教授课程的学生

成绩录入

个人信息管理

学生:

查看公告

查看课程

选课

查看成绩

个人信息管理

环境配置:

Jdk1.8 + mysql + Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)

项目技术:

SpringBoot +Spring + SpringMVC + MyBatis + html+ css + JavaScript + JQuery + Ajax + layui+ maven等等;

        return "back/notice";
    }

    /*
     * @Description: 发布公告后重定向到公告列表
     */
    @PostMapping("/back/notice/add")
    public String addNotice(Notice notice) {
        noticeDao.addNotice(notice);
        return "redirect:/back/notice";
    }

    /*
     * @Description: 删除指定公告后重定向到公告列表
     */
    @GetMapping("/back/notice/delete/{noticeId}")
    public String deleteNotice(@PathVariable("noticeId") String noticeId) {
        noticeDao.deleteNotice(noticeId);
        return "redirect:/back/notice";
    }

    /*
     * @Description: 批量删除公告
     */
    @PostMapping("/back/notice/delete")
    public String deleteNotices(@Param("deleteall") String deleteall) {
        String[] deleteNotices = deleteall.split(",");
        for (String noticeId : deleteNotices) {
            noticeDao.deleteNotice(noticeId);
        }
        return "redirect:/back/notice";
    }

    /*

     * @Description: 修改公告内容
     */
    @PostMapping("/back/notice/info")
    public String updateNotice(Notice notice) {
        noticeDao.updateNotice(notice);
        return "redirect:/back/notice";
    }

    /*
        for (String noticeId : deleteNotices) {
            noticeDao.deleteNotice(noticeId);
        }
        return "redirect:/back/notice";
    }

    /*

     * @Description: 修改公告内容
     */
    @PostMapping("/back/notice/info")
    public String updateNotice(Notice notice) {
        noticeDao.updateNotice(notice);
        return "redirect:/back/notice";
    }

    /*
     * @Description: 转发到帮助导入课程页面
     */
    @RequestMapping("/back/help/course")
    public String toHelpCourse() {
        return "back/help/course";
    }

    /*
     * @Description: 转发到帮助导入学生页面
     */
    @RequestMapping("/back/help/student")
    public String toHelpStudent() {
        return "back/help/student";
    }

    /*
     * @Description: 转发到帮助导入教师页面
     */
    @RequestMapping("/back/help/teacher")
    public String toHelpTeacher() {
        return "back/help/teacher";
    }
}

        model.addAttribute("score2s", score2s);
        return "front/teacher/enterscore";
    }

    /*
     * @Description: 更新选报课程学生成绩信息
     */
    @PostMapping("/front/teacher/enterscore")
    public String updateStudentSumScore(@Param("courseId") String courseId, @Param("enterscore") String enterscore) {
        String[] scores = enterscore.split(";");
        for (int i = 0; i < scores.length; i++) {
            String[] stu = scores[i].split(",");
            courseDao.updateStudentScore(courseId, stu[0], stu[1], stu[2]);
        }
        return "redirect:/front/teacher/enterscore";
    }

    /*
     * @Description: 前台教师信息
     */
    @RequestMapping("/front/teacher/info")
    public String toInfo(HttpSession session, Model model) {
        String loginUser = (String) session.getAttribute("LoginUser");
        Teacher teacher = teacherDao.quertyTeacherByID(loginUser);
        model.addAttribute("tea", teacher);
        Course course = teacherDao.queryTeachCourseByID(loginUser);
        model.addAttribute("course", course);
        return "front/teacher/info";
    }

    /*
     * @Description: 更改教师信息
     */
    @PostMapping("/front/teacher/info")
    public String updateInfo(Teacher teacher) {
        teacherDao.updateTeacherInfo(teacher);
        return "redirect:/front/teacher/info";
    }

    /*
     * @Description: 修改教师密码
     */
    @PostMapping("/front/teacher/info/{teacherId}")
    public String updatePassword(@PathVariable("teacherId") String teacherId, @Param("password") String password) {
        teacherDao.updateTeacherPassword(teacherId, password);
        return "redirect:/logout";
    }
}

    @PostMapping("/back/student/add")
    public String addStudent(Student student) {
        student.setPassword("123456");
        studentDao.addStudent(student);
        classDao.addStudentToClass(student.getStudentClassId());
        return "redirect:/back/student/list";
    }

    /*
     * @Description: 按学生ID删除用户及其选课记录并重定向到学生列表页面处理。注意点:删除学生之前需要删除其选课信息。
     */
    @GetMapping("/back/student/delete/{studentId}")
    public String deleteStudent(@PathVariable("studentId") String studentId) {
        String studentClassId = studentDao.queryStudentByUsername(studentId).getStudentClassId();
        courseDao.deleteSelectCourseById(studentId);
        studentDao.deleteStudent(studentId);
        classDao.deleteStudentFromClass(studentClassId);
        return "redirect:/back/student/list";
    }

    /*
     * @Description: 批量删除学生。注意点同上
     */
    @PostMapping("/back/student/delete")
    public String deleteStudents(@Param("deleteall") String deleteall) {
        String[] deleteStudents = deleteall.split(",");
        for (String studentId : deleteStudents) {
            String studentClassId = studentDao.queryStudentByUsername(studentId).getStudentClassId();
            courseDao.deleteSelectCourseById(studentId);
            studentDao.deleteStudent(studentId);
            classDao.deleteStudentFromClass(studentClassId);
        }
        return "redirect:/back/student/list";
    }

    /*
     * @Description: 更新学生信息(不包括密码),并重定向到学生列表页面处理
     */
    @PostMapping("/back/student/info")
    public String updateStudent(Student student) {
        studentDao.updateStudentInfo(student);
        return "redirect:/back/student/list";
    StudentDao studentDao;
    @Autowired
    NoticeDao noticeDao;
    @Autowired
    CourseDao courseDao;
    @Autowired
    ClassDao classDao;

    /*
     * @Description: 转发到前台主页
     */
    @RequestMapping("/front/student")
    public String toFrontIndex(Model model) {
        List<Notice> notices = noticeDao.queryAllNotice();
        model.addAttribute("notices", notices);
        return "front/student/index";
    }

    /*
     * @Description: 转发到前台选课页面。
     */
    @RequestMapping({"/front/student/selectcourse"})
    public String toSelectCourse(HttpSession session, Model model) {
        List<Course> list = newList(courseDao.queryAllCourse());
        model.addAttribute("courses", list);
        List<Course> selectCourses = newList(studentDao.querySelectCourseByStudentID((String) session.getAttribute("LoginUser")));
        model.addAttribute("selectCourses", selectCourses);
        String msg = (String) session.getAttribute("msg");
        if (msg != null) {
            model.addAttribute("msg", msg);
            session.removeAttribute("msg");
        }
        return "front/student/selectcourse";
    }

    /*
     * @Description: 学生选课操作
     */
    @GetMapping("/front/student/selectcourse/{courseId}")
    public String selectCourse(@PathVariable("courseId") String courseId, HttpSession session) {
        String loginUser = (String) session.getAttribute("LoginUser");
        List<Course> selectCourses = studentDao.querySelectCourseByStudentID(loginUser);
        for (Course course : selectCourses) {

    /*
     * @Description: 前台教师信息
     */
    @RequestMapping("/front/teacher/info")
    public String toInfo(HttpSession session, Model model) {
        String loginUser = (String) session.getAttribute("LoginUser");
        Teacher teacher = teacherDao.quertyTeacherByID(loginUser);
        model.addAttribute("tea", teacher);
        Course course = teacherDao.queryTeachCourseByID(loginUser);
        model.addAttribute("course", course);
        return "front/teacher/info";
    }

    /*
     * @Description: 更改教师信息
     */
    @PostMapping("/front/teacher/info")
    public String updateInfo(Teacher teacher) {
        teacherDao.updateTeacherInfo(teacher);
        return "redirect:/front/teacher/info";
    }

    /*
     * @Description: 修改教师密码
     */
    @PostMapping("/front/teacher/info/{teacherId}")
    public String updatePassword(@PathVariable("teacherId") String teacherId, @Param("password") String password) {
        teacherDao.updateTeacherPassword(teacherId, password);
        return "redirect:/logout";
    }
}

        }
        model.addAttribute("course", course);
        List<Student> students = courseDao.queryCourseStudentsByID(course.getCourseId());
        model.addAttribute("students", students);
        List<Class> classes = classDao.queryAllClass();
        model.addAttribute("classes", classes);
        return "front/teacher/courseinfo";
    }

    /*
     * @Description: 前台教师输入选报课程的学生的成绩
     */
    @RequestMapping("/front/teacher/enterscore")
    public String toEnterScore(HttpSession session, Model model) {
        String loginUser = (String) session.getAttribute("LoginUser");
        Course course = teacherDao.queryTeachCourseByID(loginUser);
        model.addAttribute("course", course);
        List<Student> students = courseDao.queryCourseStudentsByID(course.getCourseId());
        model.addAttribute("students", students);
        List<Double> score1s = courseDao.queryCourseStudentScore1s(course.getCourseId());
        model.addAttribute("score1s", score1s);
        List<Double> score2s = courseDao.queryCourseStudentScore2s(course.getCourseId());
        model.addAttribute("score2s", score2s);
        return "front/teacher/enterscore";
    }

    /*
     * @Description: 更新选报课程学生成绩信息
     */
    @PostMapping("/front/teacher/enterscore")
    public String updateStudentSumScore(@Param("courseId") String courseId, @Param("enterscore") String enterscore) {
        String[] scores = enterscore.split(";");
        for (int i = 0; i < scores.length; i++) {
            String[] stu = scores[i].split(",");
            courseDao.updateStudentScore(courseId, stu[0], stu[1], stu[2]);
        }
        return "redirect:/front/teacher/enterscore";
    }

    /*
     * @Description: 前台教师信息
     */
    @RequestMapping("/front/teacher/info")
    public String toInfo(HttpSession session, Model model) {
        String loginUser = (String) session.getAttribute("LoginUser");
        Teacher teacher = teacherDao.quertyTeacherByID(loginUser);
    public String deleteSelectCourse(@PathVariable("courseId") String courseId, HttpSession session) {
        String loginUser = (String) session.getAttribute("LoginUser");
        studentDao.deleteSelectCourse(loginUser, courseId);
        session.setAttribute("msg", "退选成功,请注意查看");
        return "redirect:/front/student/selectcourse";
    }

    //更新课程状态
    List<Course> newList(List<Course> courses) {
        List<Course> list = new ArrayList<>();
        long time = new Date().getTime();
        for (Course course : courses) {
            if (time - course.getBeginDate().getTime() >= 0) {
                if (course.getEndDate().getTime() + 1000 * 60 * 60 * 24 > time) {
                    course.setStatus("进行中");
                    list.add(0, course);
                } else {
                    course.setStatus("已结束");
                    list.add(course);
                }
            } else {
                course.setStatus("未开始");
                list.add(course);
            }
        }
        return list;
    }

    /*
     * @Description: 前台学生成绩查看
     */
    @RequestMapping("/front/student/scoreview")
    public String toScoreView(HttpSession session, Model model) {
        String loginUser = (String) session.getAttribute("LoginUser");
        List<StudentSelectCourses> selectcourses = studentDao.selectcourses();
        for (StudentSelectCourses ssc : selectcourses) {
            if (ssc.getStudent().getStudentId().equals(loginUser)) {
                model.addAttribute("StudentSelectCourses", ssc.getStudentSelectCourses());
                return "front/student/scoreview";
            }
        }

@Controller
public class LoginController {
    @Autowired
    StudentDao studentDao;
    @Autowired
    TeacherDao teacherDao;

    /*
     * @Description: 请求转发到登录页面
     */
    @RequestMapping("/index.html")
    public String toLogin(HttpSession session) {
        if (session.getAttribute("LoginUser") != null) {
            return "redirect:/back";
        }
        return "login";
    }

    @Value("${administrator.username}")
    String admin_useranme;
    @Value("${administrator.password}")
    String admin_password;

    /*
     * @Description: 判断用户是否登录成功(管理员账号密码存储在yml配置文件里),若登录成功则重定向到对应的首页;否则请求转发回登录页面,将错误信息传回页面显示(并将账号密码回传用于回填)
     */
    @PostMapping("/login")
    public String checkLogin(@Param("username") String username, @Param("password") String password, Model model, HttpSession session) {
        if (username.equals(admin_useranme) && password.equals(admin_password)) {
            session.setAttribute("LoginUser", username);
            session.setAttribute("classify", "administrator");
            return "redirect:/back/index.html";
        } else {
            Student student = studentDao.queryStudentByUsername(username);
            Teacher teacher = teacherDao.quertyTeacherByID(username);

     * @Description: 修改公告内容
     */
    @PostMapping("/back/notice/info")
    public String updateNotice(Notice notice) {
        noticeDao.updateNotice(notice);
        return "redirect:/back/notice";
    }

    /*
     * @Description: 转发到帮助导入课程页面
     */
    @RequestMapping("/back/help/course")
    public String toHelpCourse() {
        return "back/help/course";
    }

    /*
     * @Description: 转发到帮助导入学生页面
     */
    @RequestMapping("/back/help/student")
    public String toHelpStudent() {
        return "back/help/student";
    }

    /*
     * @Description: 转发到帮助导入教师页面
     */
    @RequestMapping("/back/help/teacher")
    public String toHelpTeacher() {
        return "back/help/teacher";
    }
}

@Controller
public class StudentController {
    @Autowired
    StudentDao studentDao;
    @Autowired
    ClassDao classDao;
    @Autowired
    CourseDao courseDao;

    /*
     * @Description: 请求转发学生列表页面(所查学生顺序为按学号降序)
     */
    @RequestMapping("/back/student/list")
    public String toStudentList(Model model) {
        List<Student> students = studentDao.queryAllStudent();
        model.addAttribute("students", students);
        List<Class> classes = classDao.queryAllClass();
        model.addAttribute("classes", classes);
        return "back/student/list";
    }

    /*
     * @Description: 增加学生,并重定向到学生列表页面处理(默认密码为123456)
     */
    @PostMapping("/back/student/add")
    public String addStudent(Student student) {
        student.setPassword("123456");
        studentDao.addStudent(student);
        classDao.addStudentToClass(student.getStudentClassId());
        return "redirect:/back/student/list";
    }

    /*
     * @Description: 按学生ID删除用户及其选课记录并重定向到学生列表页面处理。注意点:删除学生之前需要删除其选课信息。
     */
    @GetMapping("/back/student/delete/{studentId}")
    public String deleteStudent(@PathVariable("studentId") String studentId) {
        String studentClassId = studentDao.queryStudentByUsername(studentId).getStudentClassId();
        courseDao.deleteSelectCourseById(studentId);
        studentDao.deleteStudent(studentId);
        classDao.deleteStudentFromClass(studentClassId);
        return "redirect:/back/student/list";
    }

    /*
     * @Description: 批量删除学生。注意点同上
     */
    @PostMapping("/back/student/delete")
    public String deleteStudents(@Param("deleteall") String deleteall) {
        String[] deleteStudents = deleteall.split(",");
        for (String studentId : deleteStudents) {
    }

    /*
     * @Description: 按学生ID删除用户及其选课记录并重定向到学生列表页面处理。注意点:删除学生之前需要删除其选课信息。
     */
    @GetMapping("/back/student/delete/{studentId}")
    public String deleteStudent(@PathVariable("studentId") String studentId) {
        String studentClassId = studentDao.queryStudentByUsername(studentId).getStudentClassId();
        courseDao.deleteSelectCourseById(studentId);
        studentDao.deleteStudent(studentId);
        classDao.deleteStudentFromClass(studentClassId);
        return "redirect:/back/student/list";
    }

    /*
     * @Description: 批量删除学生。注意点同上
     */
    @PostMapping("/back/student/delete")
    public String deleteStudents(@Param("deleteall") String deleteall) {
        String[] deleteStudents = deleteall.split(",");
        for (String studentId : deleteStudents) {
            String studentClassId = studentDao.queryStudentByUsername(studentId).getStudentClassId();
            courseDao.deleteSelectCourseById(studentId);
            studentDao.deleteStudent(studentId);
            classDao.deleteStudentFromClass(studentClassId);
        }
        return "redirect:/back/student/list";
    }

    /*
     * @Description: 更新学生信息(不包括密码),并重定向到学生列表页面处理
     */
    @PostMapping("/back/student/info")
    public String updateStudent(Student student) {
        studentDao.updateStudentInfo(student);
        return "redirect:/back/student/list";
    }

    /*
     * @Description: 按学生ID重置学生密码,默认密码为:123456,后重定向到学生列表页面处理
     */

@Controller
public class CourseController {
    @Autowired
    CourseDao courseDao;
    @Autowired
    ClassDao classDao;
    @Autowired
    StudentDao studentDao;

    /*
     * @Description: 查询所有课程并请求转发到课程列表页面
     */
    @RequestMapping("/back/course/list")
    public String toCourseList(Model model) {
        List<Course> courses = courseDao.queryAllCourse();
        model.addAttribute("courses", courses);

        return "back/course/list";
    }

    /*
     * @Description: 课程添加,后重定向到课程列表
     */
    @PostMapping("/back/course/add")
    public String addCourse(Course course) {
        courseDao.addCourse(course);
        if (course.getCourseType().equals("7")) {
            List<Student> students = studentDao.queryAllStudent();
            for (Student student : students) {
                studentDao.setSelectCourse(student.getStudentId(), course.getCourseId());
            }
        }
        return "redirect:/back/course/list";
    }

    /*
     * @Description: 课程删除功能,后重定向到课程列表。注意点:删除课程之前需要删除对应的选课信息。
     */
    @GetMapping("/back/course/delete/{courseId}")
    public String deleteStudent(@PathVariable("courseId") String courseId) {
        courseDao.deleteSelectCourse(courseId);
        courseDao.deleteCourse(courseId);
        return "redirect:/back/course/list";
    }

    /*
     * @Description: 批量删除课程。注意点同上
        model.addAttribute("courses", courses);
        return "back/teacher/list";
    }

    /*
     * @Description: 添加教师
     */
    @PostMapping("/back/teacher/add")
    public String addStudent(Teacher teacher, @Param("teachcourseId") String teachcourseId) {
        teacher.setPassword("123456");
        if (teacher.getSex() == null) {
            teacher.setSex("其他");
        }
        teacherDao.addTeacher(teacher);
        teacherDao.addTeachCourse(teacher.getTeacherId(), teachcourseId);
        return "redirect:/back/teacher/list";
    }

    /*
     * @Description: 删除指定教师。注意点:需要先删除对应的授课表的内容
     */
    @GetMapping("/back/teacher/delete/{teacherId}")
    public String deleteStudent(@PathVariable("teacherId") String teacherId) {
        teacherDao.deleteTeachCourseByID(teacherId);
        teacherDao.deleteTeacher(teacherId);
        return "redirect:/back/teacher/list";
    }

    /*
     * @Description: 批量删除教师。注意点同上
     */
    @PostMapping("/back/teacher/delete")
    public String deleteTeachers(@Param("deleteall") String deleteall) {
        String[] deleteTeacherIds = deleteall.split(",");
        for (String teacherId : deleteTeacherIds) {
            teacherDao.deleteTeachCourseByID(teacherId);
            teacherDao.deleteTeacher(teacherId);
        }
        return "redirect:/back/teacher/list";
    }

    /*
     * @Description: 修改教师信息
     */
    @PostMapping("/back/teacher/info")
    public String updateStudent(Teacher teacher, @Param("teachcourseId") String teachcourseId) {
        teacherDao.updateTeacherInfo(teacher);
        teacherDao.updateTeacherTeachCourse(teacher.getTeacherId(), teachcourseId);
        return "redirect:/back/teacher/list";
        return list;
    }

    /*
     * @Description: 前台学生成绩查看
     */
    @RequestMapping("/front/student/scoreview")
    public String toScoreView(HttpSession session, Model model) {
        String loginUser = (String) session.getAttribute("LoginUser");
        List<StudentSelectCourses> selectcourses = studentDao.selectcourses();
        for (StudentSelectCourses ssc : selectcourses) {
            if (ssc.getStudent().getStudentId().equals(loginUser)) {
                model.addAttribute("StudentSelectCourses", ssc.getStudentSelectCourses());
                return "front/student/scoreview";
            }
        }
        return "front/student/scoreview";
    }

    /*
     * @Description: 学生信息页面
     */
    @RequestMapping("/front/student/info")
    public String toInfo(HttpSession session, Model model) {
        String loginUser = (String) session.getAttribute("LoginUser");
        Student student = studentDao.queryStudentByUsername(loginUser);
        model.addAttribute("stu", student);
        List<Class> classes = classDao.queryAllClass();
        model.addAttribute("classes", classes);
        return "front/student/info";
    }

    /*
     * @Description: 修改学生信息
     */
    @PostMapping("/front/student/info")
    public String updateInfo(Student student) {
        studentDao.updateStudentInfo(student);
        return "redirect:/front/student/info";
    }

    /*
     * @Description: 修改密码
     */
    @PostMapping("/front/student/info/{studentId}")
    public String updatePassword(@PathVariable("studentId") String studentId, @Param("password") String password) {
        studentDao.updateStudentPassword(studentId, password);
        return "redirect:/logout";
    }
}
     * @Description: 转发到前台选课页面。
     */
    @RequestMapping({"/front/student/selectcourse"})
    public String toSelectCourse(HttpSession session, Model model) {
        List<Course> list = newList(courseDao.queryAllCourse());
        model.addAttribute("courses", list);
        List<Course> selectCourses = newList(studentDao.querySelectCourseByStudentID((String) session.getAttribute("LoginUser")));
        model.addAttribute("selectCourses", selectCourses);
        String msg = (String) session.getAttribute("msg");
        if (msg != null) {
            model.addAttribute("msg", msg);
            session.removeAttribute("msg");
        }
        return "front/student/selectcourse";
    }

    /*
     * @Description: 学生选课操作
     */
    @GetMapping("/front/student/selectcourse/{courseId}")
    public String selectCourse(@PathVariable("courseId") String courseId, HttpSession session) {
        String loginUser = (String) session.getAttribute("LoginUser");
        List<Course> selectCourses = studentDao.querySelectCourseByStudentID(loginUser);
        for (Course course : selectCourses) {
            if (course.getCourseId().equals(courseId)) {
                session.setAttribute("msg", "选课失败,您已选报此课程,请勿重复选报");
                return "redirect:/front/student/selectcourse";
            }
        }
        studentDao.setSelectCourse(loginUser, courseId);
        session.setAttribute("msg", "选课成功,请注意课程安排");
        return "redirect:/front/student/selectcourse";
    }

    /*
     * @Description: 学生退课操作
     */
    @GetMapping("/front/student/selectcourse/delete/{courseId}")
    public String deleteSelectCourse(@PathVariable("courseId") String courseId, HttpSession session) {
        String loginUser = (String) session.getAttribute("LoginUser");
        studentDao.deleteSelectCourse(loginUser, courseId);
        session.setAttribute("msg", "退选成功,请注意查看");
        return "redirect:/front/student/selectcourse";
    }


    /*
     * @Description: 修改课程信息,后重定向到课程列表
     */
    @PostMapping("/back/course/info")
    public String updateCourse(Course course) {
        courseDao.updateCourse(course);
        return "redirect:/back/course/list";
    }

    /*
     * @Description: 查询课程选报情况,并请求转发到课程选报详情页面
     */
    @GetMapping("/back/course/selectcourse")
    public String toCourseSelectCourse(Model model) {
        List<SelectCourseStudents> selectCourseStudents = newList(courseDao.selectCourseStudents());
        model.addAttribute("selectCourseStudents", selectCourseStudents);
        List<Class> classes = classDao.queryAllClass();
        model.addAttribute("classes", classes);
        return "back/course/selectcourse";
    }

    //更新课程状态
    List<SelectCourseStudents> newList(List<SelectCourseStudents> selectCourseStudents) {
        List<SelectCourseStudents> list = new ArrayList<>();
        long time = new Date().getTime();
        for (SelectCourseStudents scs : selectCourseStudents) {
            Course course = scs.getCourse();
            if (time - course.getBeginDate().getTime() >= 0) {
                if (course.getEndDate().getTime() + 1000 * 60 * 60 * 24 > time) {
                    course.setStatus("进行中");
                    list.add(0, scs);
                } else {
                    course.setStatus("已结束");
                    list.add(scs);
                }
            } else {
                course.setStatus("未开始");
                list.add(scs);
            }

@Controller
public class ClassController {
    @Autowired
    ClassDao classDao;
    @Autowired
    CourseDao courseDao;
    @Autowired
    StudentDao studentDao;

    /*
     * @Description: 转发到班级列表页面
     */
    @RequestMapping("/back/class/list")
    public String toClassList(Model model) {

        List<Student> students = studentDao.queryAllStudent();

        Map<String, List<Student>> collect = students.stream().collect(Collectors.groupingBy(o->o.getStudentClassId() == null ? "" : o.getStudentClassId()));

        List<Class> classes = classDao.queryAllClass();

        for (Class aClass : classes) {
            aClass.setAmount(collect.getOrDefault(aClass.getClassId(),new ArrayList<>()).size());
            classDao.doUpdate(aClass);
        }

        model.addAttribute("classes", classes);
        return "back/class/list";

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐