Java项目:springboot教务管理系统

108 篇文章 2 订阅

作者主页:源码空间站2022

 简介: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

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值