基于Java学生管理系统设计与实现(源码+部署文档)

博主介绍: ✌至今服务客户已经1000+、专注于Java技术领域、项目定制、技术答疑、开发工具、毕业项目实战 ✌
🍅 文末获取源码联系 🍅
👇🏻 精彩专栏 推荐订阅 👇🏻 不然下次找不到

Java项目精品实战专区icon-default.png?t=N7T8https://blog.csdn.net/java18343246781/category_12537229.htmlJava各种开发工具资源包网站icon-default.png?t=N7T8http://62.234.13.119:9000/html/visitor/softwareResourceList.html

软件安装+项目部署专区icon-default.png?t=N7T8https://blog.csdn.net/java18343246781/category_12539864.htmlv


系列文章目录

前言

一、运行环境

二、代码示例

三、系统展示


前言

1) 学生管理:管理员可以对查询学生信息、新增、编辑、删除学生信息等操作。可以绑定班级与操作学生登录密码。
2) 教师管理:管理员可以管理教师基础信息可查询、编辑、删除、添加。
3) 班级管理:管理员可以维护班级信息。可查询、新增、编辑、删除。同时可查看班级的人数。
4) 课程管理:管理员可以维护课程信息。可查询、新增、编辑、删除课程信息。可绑定教师。
5) 课程列表:管理员发布课程在对应的班级授课,以及发布上课时间。
6) 选课管理:管理员可以为学生进行选课。
7) 成绩信息管理:成绩信息管理由教师进行发布。管理员具备查看成绩、编辑成绩、删除成绩等操作。
8) 成绩图表:管理员可查看每个课程每个分数线的总人数。
9) 签到管理:管理员可以为学生进行签到。同时可以查看、删除与编辑。
10) 学生请假管理:学生端可以申请请假,教师进行审批。
11) 教师请假管理:教师端可以申请请假,管理员进行审批。

一、运行环境

1) 开发工具:IDEA
2) 运行环境:JDK 1.8
3) 前端技术:layui、html、css、js、echarts、jquery
4) 后端框架:Spring Boot
5) 数据库:MySQL

二、代码示例

代码如下(示例):

  //查询所有选课信息
    @PostMapping("/findSelectCourse/{id}")
    @ResponseBody
    public LayuiPage<SelectCourse> findClazz(int page, int limit,@PathVariable("id") String tid){
        //传入分页的属性
        Page<SelectCourse> pager = new Page<>(page,limit);

        IPage<SelectCourse> selectCoursePage = selectCourseService.page(pager, null);
        List<SelectCourse> selectCourseList = selectCoursePage.getRecords();

        QueryWrapper<Course> wrapper = new QueryWrapper<>();
        wrapper.eq("tid",tid);
        List<Course> list = courseService.list(wrapper);

        ArrayList<SelectCourse> listCourse = new ArrayList<>();
        //如果老师得课程不为空
        if (!list.isEmpty()){
            for (Course thisCourse : list) {
                for (SelectCourse thisSelectCourse: selectCourseList) {
                    if (thisCourse.getId().equals(thisSelectCourse.getCid())){
                        listCourse.add(thisSelectCourse);
                    }
                }
            }
        }
        for (SelectCourse selectCourse : listCourse) {
            selectCourse.setCourse(courseService.getById(selectCourse.getCid()));
            selectCourse.setStudent(studentService.getById(selectCourse.getSid()));
        }
        return new LayuiPage((long) listCourse.size(),listCourse);
    }

    //添加选课信息
    @PostMapping("/addSelectCourse")
    public Result add(@RequestBody SelectCourse selectCourse){
        SelectCourse dbSelectCourse= selectCourseMapper.findSidAndCid(selectCourse.getSid().toString(), selectCourse.getCid().toString());
        if (dbSelectCourse!=null){
            return Result.error().message("该学生已选择此课程");
        }
        Course course = courseService.getById(selectCourse.getCid());
        selectCourse.setCourseName(course.getCourseName());
        selectCourse.setTid(course.getTid());
        return selectCourseService.save(selectCourse)?Result.ok():Result.error().message("服务器异常,请稍后再试试");
    }

    //删除
    @DeleteMapping("/{id}")
    public Result delete(@PathVariable("id") String id){
        return selectCourseService.removeById(id)?Result.ok():Result.error().message("服务器异常,请稍后再试试");
    }

    //id查询
    @GetMapping("/{id}")
    public SelectCourse findById(@PathVariable("id") String id){
        return selectCourseService.getById(id);
    }

    //修改
    @PutMapping("/update")
    public Result update(@RequestBody SelectCourse selectCourse){
        SelectCourse dbSelectCourse= selectCourseMapper.findSidAndCid(selectCourse.getSid().toString(), selectCourse.getCid().toString());
        if (dbSelectCourse!=null){
            return Result.error().message("该学生已选择此课程");
        }
        Course course = courseService.getById(selectCourse.getCid());
        selectCourse.setCourseName(course.getCourseName());
        return selectCourseService.updateById(selectCourse)?Result.ok():Result.error().message("服务器异常,请稍后再试试");
    }

    //发布成绩
    @PutMapping("/updateScore")
    public Result updateScore(@RequestBody SelectCourse selectCourse){
        return selectCourseService.updateById(selectCourse)?Result.ok():Result.error().message("服务器异常,请稍后再试试");
    }

    //删除成绩
    @GetMapping("/deleteScore/{id}")
    public Result deleteScore(@PathVariable("id") String id){
        SelectCourse selectCourse = selectCourseService.getById(id);
        selectCourse.setScore("未出成绩");
        return selectCourseService.updateById(selectCourse)?Result.ok():Result.error().message("服务器异常,请稍后再试试");
    }

    @GetMapping("/findScore/{cid}")
    public List<Integer> findScore(@PathVariable("cid") String cid){
        List<Integer> list = new ArrayList<>();
        list.add(selectCourseMapper.count100And90(cid));
        list.add(selectCourseMapper.count90And80(cid));
        list.add(selectCourseMapper.count80And70(cid));
        list.add(selectCourseMapper.count70And60(cid));
        list.add(selectCourseMapper.count60And0(cid));
        return list;
    }

三、系统展示

学生管理:管理员可以对查询学生信息、新增、编辑、删除学生信息等操作。可以绑定班级与操作学生登录密码。

教师管理:管理员可以管理教师基础信息可查询、编辑、删除、添加。

班级管理:管理员可以维护班级信息。可查询、新增、编辑、删除。同时可查看班级的人数。

课程管理:管理员可以维护课程信息。可查询、新增、编辑、删除课程信息。可绑定教师。

课程列表:管理员发布课程在对应的班级授课,以及发布上课时间。

选课管理:管理员可以为学生进行选课。

成绩信息管理:成绩信息管理由教师进行发布。管理员具备查看成绩、编辑成绩、删除成绩等操作。

成绩图表:管理员可查看每个课程每个分数线的总人数。

签到管理:管理员可以为学生进行签到。同时可以查看、删除与编辑。

学生请假管理:学生端可以申请请假,教师进行审批。

教师请假管理:教师端可以申请请假,管理员进行审批。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值