Java项目:springboot教务管理系统

本文介绍了如何使用SpringBoot和Thymeleaf开发一个学校管理系统,涉及用户管理、角色权限分配、课程建设、教师和学生管理、成绩管理和新闻发布功能。详细步骤包括数据库配置、功能实现和使用说明。
摘要由CSDN通过智能技术生成

作者主页:夜未央5788

 简介:Java领域优质创作者、Java项目、学习资料、技术互助

文末获取源码

项目介绍

1.系统默认超级管理员账号为admin,默认密码为123456
系统配置:用户管理、角色管理、权限管理
默认已配置好基本数据:用户默认只有一个超级管理员,角色有三种:管理员、教师、学生,权限已按照角色分配完成。

2.系统建设
a.建设简介:
学校建设需要按照系部 > 专业 > 年级 > 班级的顺序进行建设。每项管理均提供精确/条件查询,可快速定位所需信息。
b.系部建设
c.专业建设
d.年级建设

3,课目建设
a.课目介绍
b.添加必修课目
c.添加选修课目
d.课目启动与暂停

4.教师管理
a.教师授课管理
b.录入教师
c.教师信息查询

5.学生管理:
a,退学信息
b.录入学生
c.学生信息查询

6.成绩管理
a.学生成绩管理
b.教师成绩管理

7.校园新闻:

a,新闻管理

b.发布新闻

环境需要

1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。
2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;
3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可
4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS; 
5.数据库:MySql 5.7版本;

6.是否Maven项目:是;

技术栈

1. 后端:SpringBoot+Thymeleaf

2. 前端:HTML+CSS+jQuery+LayUI

使用说明

1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;

2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;

若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行;

3. 将项目中application.yml配置文件中的数据库配置改为自己的配置;注:要修改最下方profiles:dev相关的配置;
4. 运行项目,输入localhost:8080/home 登录
管理员账号/密码:admin/123456
教师账号/密码:2020001/123456

学生账号/密码:15020002/123456

运行截图

 

 

 

 

 

 代码相关

学生管理控制器

@Controller
//使用它标记的类就是一个SpringMVC Controller 对象。分发处理器将会扫描使用了该注解的类的方法
public class AddStudentController {
    @Autowired  //  自动注入
    private StudentService studentService;
    @Autowired
    private AddStudentService addStudentService;

    @RequestMapping("/addStudentPage")
    public String selPolitics(Model model){
        //  查询政治面貌表
        List<PoliticsTypeDB> stupol = studentService.selPolitics();
        model.addAttribute("stupol",stupol);
        return "view/student/addStudent";
    }

    //  添加学生
    @RequestMapping("addStudent") //   用来处理请求地址映射的注解
    @ResponseBody   // 通常用来返回JSON数据给客户端
    public LayuiResult<StudentDB> addStudent(StudentVO studentVO, String birthday, String tertime) throws Exception{
        LayuiResult<StudentDB> result= new LayuiResult<>();
        //  将接收到的时间进行类型转换
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
        Date date1=format.parse(birthday);
        Date date2=format.parse(tertime);
        studentVO.setSbirthday(date1);
        studentVO.setEntertime(date2);
        //  判断该年份是否已存在学生
        Integer year = addStudentService.selectStuYear(studentVO.getClassid());
        if(year !=0 ){
            //  若该年份学生为空时 则添加一条分割线
            Integer fenge = addStudentService.stuSegmentation(studentVO.getClassid());
        }
        //  生成学生学号
        String stui = addStudentService.selStuid(studentVO.getGid());
        studentVO.setStuid(stui);
        studentVO.setSid(Integer.valueOf(stui));
        //  根据前台传来信息添加学生
        Integer addStudent = addStudentService.addStudent(studentVO);
        //  获取学号
        String stuid = studentVO.getStuid();
        //  根据学号查询学生id编号
        Integer sid = addStudentService.selectSid(stuid);
        //  获取所选专业id
        Integer mid = studentVO.getMid();
        //  根据学生专业查询该专业开设的必修课程
        List<CourseDB> selCourse = addStudentService.selCourse(mid);
        for(CourseDB cou : selCourse){
            //  将学生id以及必修课程的id添加至学生选课表
            Integer addStuCourse = addStudentService.addStuCourse(sid,cou.getCid());
            System.out.println(addStuCourse);
        }

        //  班级人数+1
        Integer selClassinfo = addStudentService.selecteClassinfo(studentVO.getClassid());
        //  年级人数+1
        Integer selGrade = addStudentService.selecteGrade(studentVO.getGid());
        //  专业人数+1
        Integer selMajor = addStudentService.selecteMajor(studentVO.getMid());
        //  系部人数+1
        Integer selDepartment = addStudentService.selecteDepartment(studentVO.getDid());

        //  根据学号查询信息
        List<StudentDB> stu = addStudentService.selectMessage(stuid);
        //  查询sys_role角色id
        String id = addStudentService.selectRole();
        result.setData(stu);
        result.setMsg(id);
        return result;
    }
}

 新闻管理控制器

@Controller
@RequestMapping("news")
public class NewsController extends BaseController {
    @Autowired
    private NewsService newsService;

    /**
     * 进入发布文章页面
     * @return
     */
    @RequestMapping("addnews")
    public String addnews() {
        return "view/news/addnews";
    }

    /**
     * 进入新闻公示管理页面
     * @return
     */
    @RequestMapping("newscontrol")
    public String newscontrol() {
        return "view/news/newscontrol";
    }


    /**
     * 发布新闻
     */
    @RequestMapping("addingnews")
    @ResponseBody
    public Object addingNews(NewsinfoDB newsinfoDB){
        int r = newsService.addNews(newsinfoDB);
        if(r==1){
            return true;
        }else{
            return false;
        }
    }

    /**
     * 获取新闻列表
     */
    @RequestMapping("findallnews")
    @ResponseBody
    public Object findallnews(NewsinfoDB newsinfoDB, Integer page, Integer limit){
        PageHelper.startPage(page, limit);
        List<NewsinfoDB> listAll = newsService.findAllNews(newsinfoDB);
        PageInfo pageInfo = new PageInfo(listAll);
        Map<String, Object> newsData = new HashMap<String, Object>();
        //这是layui要求返回的json数据格式
        newsData.put("code", 0);
        newsData.put("msg", "");
        //将全部数据的条数作为count传给前台(一共多少条)
        newsData.put("count", pageInfo.getTotal());
        //将分页后的数据返回(每页要显示的数据)
        newsData.put("data", pageInfo.getList());
        return newsData;
    }

    /**
     * 删除新闻
     * */
    @RequestMapping("deletenews")
    @ResponseBody
    public Object deleteNews(Integer nid){
        int r = newsService.deleteNews(nid);
        if(r==1){
            return true;
        }else{
            return false;
        }
    }

    /**
     * 编辑新闻
     */
    @RequestMapping("editingnews")
    @ResponseBody
    public Object editNews(NewsinfoDB newsinfoDB){
        int r = newsService.editNews(newsinfoDB);
        if(r==1){
            return true;
        }else{
            return false;
        }
    }

}

如果也想学习本系统,下面领取。回复:082springboot

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
一、项目简介 本项目是一套基于SpringBoot教务管理系统,主要针对计算机相关专业的正在毕设的学生和需要项目实战练习的Java学习者。 包含:项目源码、数据库脚本、软件工具、项目说明等,该项目可以直接作为毕设使用。 项目都经过严格调试,确保可以运行! 二、技术实现 ​后台框架:SpringBoot ​数据库:MySQL 开发环境:JDK、IDEA、Tomcat 三、系统功能 本教务管理系统共包含三种角色:学生、教师和管理员,系统分为前台界面和后台管理。 该系统共分为七个功能模块:系统管理,考试管理,学生信息管理,教师信息管理,基本信息管理,后台管理和学生成绩管理。 1.系统管理模块 实现用户信息的管理,包括用户密码更改和注销功能,以便用户更改其个人帐户。 2.考试管理模块 添加,修改和删除每个年级每个专业班提供的针对特定科目的考试。此外,可以统一管理每个学期每个阶段的考试,包括考试的具体时间和地点。 3.学生管理模块 学生管理是该系统的核心模块,可以添加,删除,修改和查询诸如年级,专业班级,姓名,年龄和入学课程之类的信息。学生管理部统一管理学生注册信息,对其进行快速调查,以提高工作效率。 4.教师管理模块 管理学校在职和退休教师的信息,添加,修改和删除教师学校,姓名,年龄和学科等信息,并加快学校和教职员工的统一管理。人员信息,您可以查找一下。 5.基本信息管理模块 添加,修改和删除学校中每个年级建立的现有年级,班级和课程信息。可以对每个年级每个专业班级中开设的课程进行集中管理,学校可以集中管理基本信息并进行快速调查。 6.后台管理模块 修改教师和学生的通知。可以通知每个老师和学生。 7.学生成绩管理模块 查询和管理参加每项考试的所有学生的成绩。学校评估循序渐进的教育质量,为学生评估工作提供参考。它为学校后续工作的发展提供了基础。达到开发教育书籍的主要目的。 该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

夜未央5788

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值