当前位置: 首页 > news >正文

基于SSM的学生宿舍管理系统

博主主页:猫头鹰源码

博主简介:Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万+、专注Java技术领域和毕业设计项目实战

主要内容:毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询

文末联系获取

项目介绍: 

该系统创作于2022年1月,包含详细数据库设计。基于SSM整合,数据层为MyBatis,mysql数据库,具有完整的业务逻辑,适合选题:学生宿舍、宿舍、宿舍管理、大学宿舍管理等。

项目功能:

管理员:

学生信息:对学生信息进行维护
班级管理:对班级进行管理
公寓信息:公寓信息的维护
宿舍信息:对宿舍信息进行管理
安排宿舍:对学生进行安排宿舍
调寝迁出:调整寝室
晚归记录:对晚归学生进行管理
管理员管理:对管理员进行维护
统计:每个公寓学生人数柱状图,已分配和未分配宿舍学生占比,每个班级人数占比

宿舍管理员:

学生信息:对学生信息进行维护
班级管理:对班级进行管理
公寓信息:公寓信息的维护
宿舍信息:对宿舍信息进行管理
安排宿舍:对学生进行安排宿舍
调寝迁出:调整寝室
晚归记录:对晚归学生进行管理

数模设计:

数据库表结构文档:

系统包含技术:

后端:SSM
前端:layui,js,css等
开发工具:eclipse
数据库:mysql 5.7
JDK版本:jdk1.8
tomcat版本:tomcat8

部分截图说明:

下面是登录页面

下面是登录后管理员首页

 

管理员对学生进行管理

 管理员对班级管理

管理员公寓信息维护

 

管理员对宿管进行管理

 

安排宿舍

统计信息

修改个人信息 

部分代码:

拦截器

@Override
    public boolean preHandle(HttpServletRequest request,
                             HttpServletResponse response, Object handler) throws Exception {
        // 获取Session
        HttpSession session = request.getSession();
        String type = (String) session.getAttribute("type");
        // 判断Session中是否有用户数据,如果有,则返回true,继续向下执行
        if(type==null){
        	request.setAttribute("msg", "您还没有登录,请先登录!");
            request.getRequestDispatcher("/login/login").forward(request, response);
            return false;
        }else{
        	return true;
        }
    }

对宿舍相关操作

/**
     * 分页查询
     * pageIndex 当前页码
     * pageSize  显示条数
     */
    @RequestMapping(value = "/findDorm")
    public String findDorm(Integer pageIndex, Integer pageSize,String num, Model model,HttpServletRequest request) {
        HttpSession session = request.getSession();
        if(session.getAttribute("ad") == null){
            session.setAttribute("msg", "对不起,请登录!");
            return "login";
        }
        Map mp = new HashMap();
        mp.put("num",num);
        String type = (String)session.getAttribute("type");
        if(type.equals("02")){
            Manage manage = (Manage)session.getAttribute("ad");
            mp.put("id",manage.getId());
        }
        PageInfo<Dorm> pageList = dormService.findPageInfo(pageIndex,pageSize,mp);
        model.addAttribute("pageList",pageList);
        List<Build> buildList = buildService.getAll();
        model.addAttribute("buildList",buildList);
        return "DormList";
    }


    /**
     * 添加
     */
    @RequestMapping(value = "/addDorm" ,method = RequestMethod.POST)
    @ResponseBody
    public String addDorm( @RequestBody Dorm dorm) {
        try{
            List<Dorm> all = dormService.getAll();
            for(int i=0;i<all.size();i++){
                if(all.get(i).getNum().equals(dorm.getNum())){
                    return "202";
                }
            }
            dormService.addDorm(dorm);
            return "200";
        }catch (Exception e){
            e.printStackTrace();
            return "201";
        }
    }


    /**
     * 删除
     */
    @RequestMapping( "/deleteDorm")
    @ResponseBody
    public String deleteDorm(String id) {
        int d = dormService.deleteDorm(id);
        return "DormList";
    }


    /**
     * 修改
     */
    @RequestMapping( "/updateDorm")
    @ResponseBody
    public String updateDorm(@RequestBody  Dorm dorm) {
        try{
            List<Dorm> all = dormService.getAll();
            for(int i=0;i<all.size();i++){
                if(all.get(i).getNum().equals(dorm.getNum()) && !all.get(i).getId().equals(dorm.getId())){
                    return "202";
                }
            }
            dormService.updateDorm(dorm);
            return "200";
        }catch (Exception e){
            e.printStackTrace();
            return "201";
        }
    }


    /**
     * 按照ID查询
     */
    @RequestMapping( "/findDormById")
    @ResponseBody
    public Dorm findDormById(String id,Model model,HttpServletRequest request) {
        Dorm dorm= dormService.findDormById(id);
        return dorm;
    }

以上就是部分功能展示,从整体上来看,本系统功能是十分完整的,界面设计简洁大方,交互友好,数据库设计也很合理,规模适中,代码工整,清晰,适合学习使用。

好了,今天就到这儿吧,小伙伴们点赞、收藏、评论,一键三连走起呀,下期见~~

相关文章:

  • 第二章第六节 ST图与迭代优化
  • Kotlin(九)类、属性、构造函数
  • Java 八股文能不背吗?Java 面试都只是背答案吗?
  • [CC2642R1][VSCODE+Embedded IDE+IAR Build+Cortex-Debug] TI CC2642R1基于VsCode的开发环境
  • JS垃圾回收与内存泄漏
  • MySQL数据库笔记
  • 基于SSM的高校餐厅防疫管理系统
  • y118.第七章 服务网格与治理-Istio从入门到精通 -- Istio流量治理快速入门(四)
  • Linux | 性能问题排查
  • 【微服务容器化】第二章-Docker常用命令
  • 慧差\畸变 zemax示例
  • 硬件控制方法
  • 【单细胞高级绘图】08.细胞通讯_两组比较_气泡图
  • java计算机毕业设计基于安卓Android/微信小程序的校园报修管理APP
  • Mysql 的安装
  • 【vuex入门系列02】mutation接收单个参数和多个参数
  • 002-读书笔记-JavaScript高级程序设计 在HTML中使用JavaScript
  • Android 初级面试者拾遗(前台界面篇)之 Activity 和 Fragment
  • android 一些 utils
  • C++11: atomic 头文件
  • JavaScript标准库系列——Math对象和Date对象(二)
  • Java方法详解
  • JSONP原理
  • node-glob通配符
  • React组件设计模式(一)
  • Spark VS Hadoop:两大大数据分析系统深度解读
  • Travix是如何部署应用程序到Kubernetes上的
  • ⭐ Unity 开发bug —— 打包后shader失效或者bug (我这里用Shader做两张图片的合并发现了问题)
  • 使用SAX解析XML
  • 手写双向链表LinkedList的几个常用功能
  • 延迟脚本的方式
  • 一个JAVA程序员成长之路分享
  • 责任链模式的两种实现
  • 哈罗单车融资几十亿元,蚂蚁金服与春华资本加持 ...
  • 积累各种好的链接
  • ​人工智能之父图灵诞辰纪念日,一起来看最受读者欢迎的AI技术好书
  • ​无人机石油管道巡检方案新亮点:灵活准确又高效
  • #laravel 通过手动安装依赖PHPExcel#
  • $Django python中使用redis, django中使用(封装了),redis开启事务(管道)
  • (Matlab)使用竞争神经网络实现数据聚类
  • (经验分享)作为一名普通本科计算机专业学生,我大学四年到底走了多少弯路
  • (每日持续更新)jdk api之FileReader基础、应用、实战
  • (三)Pytorch快速搭建卷积神经网络模型实现手写数字识别(代码+详细注解)
  • (一)eclipse Dynamic web project 工程目录以及文件路径问题
  • (已解决)什么是vue导航守卫
  • (转)编辑寄语:因为爱心,所以美丽
  • .360、.halo勒索病毒的最新威胁:如何恢复您的数据?
  • .NET “底层”异步编程模式——异步编程模型(Asynchronous Programming Model,APM)...
  • .Net CF下精确的计时器
  • .NET Core Web APi类库如何内嵌运行?
  • .NET Core 将实体类转换为 SQL(ORM 映射)
  • .net oracle 连接超时_Mysql连接数据库异常汇总【必收藏】
  • @RequestMapping用法详解
  • [ Linux 长征路第二篇] 基本指令head,tail,date,cal,find,grep,zip,tar,bc,unname
  • [ 隧道技术 ] cpolar 工具详解之将内网端口映射到公网