ssm学生公寓管理中心系统源码和论文

news2024/11/17 17:25:58

ssm学生公寓管理中心系统源码和论文057

 开发工具:idea 
 数据库mysql5.7+
 数据库链接工具:navcat,小海豚等
  技术:ssm

摘  要

现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本学生公寓管理中心系统就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞大的数据信息,使用这种软件工具可以帮助管理人员提高事务处理效率,达到事半功倍的效果。此学生公寓管理中心系统利用当下成熟完善的SSM框架,使用跨平台的可开发大型商业网站的Java语言,以及最受欢迎的RDBMS应用软件之一的Mysql数据库进行程序开发。实现了学生基础数据的管理,宿舍信息管理,宿舍添加修改学生,卫生记录管理,班级管理等功能。学生公寓管理中心系统的开发根据操作人员需要设计的界面简洁美观,在功能模块布局上跟同类型网站保持一致,程序在实现基本要求功能时,也为数据信息面临的安全问题提供了一些实用的解决方案。可以说该程序在帮助管理者高效率地处理工作事务的同时,也实现了数据信息的整体化,规范化与自动化。

关键词:学生公寓管理中心系统;SSM框架;Mysql;自动化

研究背景

当前社会各行业领域竞争压力非常大,随着当前时代的信息化,科学化发展,让社会各行业领域都争相使用新的信息技术,对行业内的各种相关数据进行科学化,规范化管理。这样的大环境让那些止步不前,不接受信息改革带来的信息技术的企业随时面临被淘汰,被取代的风险。所以当今,各个行业领域,不管是传统的教育行业,餐饮行业,还是旅游行业,医疗行业等领域都将使用新的信息技术进行信息革命,改变传统的纸质化,需要人手工处理工作事务的办公环境。软件信息技术能够覆盖社会各行业领域是时代的发展要求,各种数据以及文件真正实现电子化是信息社会发展的不可逆转的必然趋势。本学生公寓管理中心系统也是紧跟科学技术的发展,运用当今一流的软件技术实现软件系统的开发,让学生住宿管理完全通过管理系统实现科学化,规范化,程序化管理。从而帮助信息管理者节省事务处理的时间,降低数据处理的错误率,对于基础数据的管理水平可以起到促进作用,也从一定程度上对随意的业务管理工作进行了避免,同时,学生公寓管理中心系统的数据库里面存储的各种动态信息,也为上层管理人员作出重大决策提供了大量的事实依据。总之,学生公寓管理中心系统是一款可以真正提升管理者的办公效率的软件系统。

 

package com.controller;


import java.text.SimpleDateFormat;
import com.alibaba.fastjson.JSONObject;
import java.util.*;

import com.entity.SusheYonghuEntity;
import com.service.*;
import org.springframework.beans.BeanUtils;
import javax.servlet.http.HttpServletRequest;
import org.springframework.web.context.ContextLoader;
import javax.servlet.ServletContext;

import com.utils.StringUtil;
import java.lang.reflect.InvocationTargetException;

import org.apache.commons.lang3.StringUtils;
import com.annotation.IgnoreAuth;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;

import com.entity.SusheweishengEntity;

import com.entity.view.SusheweishengView;
import com.entity.SusheEntity;
import com.utils.PageUtils;
import com.utils.R;

/**
 * 宿舍卫生
 * 后端接口
 * @author
 * @email
 * @date 2021-03-08
*/
@RestController
@Controller
@RequestMapping("/susheweisheng")
public class SusheweishengController {
    private static final Logger logger = LoggerFactory.getLogger(SusheweishengController.class);

    @Autowired
    private SusheweishengService susheweishengService;


    @Autowired
    private TokenService tokenService;
    @Autowired
    private DictionaryService dictionaryService;
    @Autowired
    private SusheYonghuService susheYonghuService;


    //级联表service
    @Autowired
    private SusheService susheService;


    /**
    * 后端列表
    */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params, HttpServletRequest request){
        logger.debug("page方法:,,Controller:{},,params:{}",this.getClass().getName(),JSONObject.toJSONString(params));
        String role = String.valueOf(request.getSession().getAttribute("role"));
        if(StringUtil.isNotEmpty(role) && "用户".equals(role)){
            EntityWrapper<SusheYonghuEntity> wrapper = new EntityWrapper<>();
            wrapper.eq("yonghu_id",request.getSession().getAttribute("userId"));
            SusheYonghuEntity susheYonghuEntity = susheYonghuService.selectOne(wrapper);
            if(susheYonghuEntity!= null){
                params.put("susheId",susheYonghuEntity.getSusheId());
            }else{
                params.put("susheId",-999);
            }
        }
        PageUtils page = susheweishengService.queryPage(params);

        //字典表数据转换
        List<SusheweishengView> list =(List<SusheweishengView>)page.getList();
        for(SusheweishengView c:list){
            //修改对应字典表字段
            dictionaryService.dictionaryConvert(c);
        }
        return R.ok().put("data", page);
    }
    /**
    * 后端详情
    */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") Long id){
        logger.debug("info方法:,,Controller:{},,id:{}",this.getClass().getName(),id);
        SusheweishengEntity susheweisheng = susheweishengService.selectById(id);
        if(susheweisheng !=null){
            //entity转view
            SusheweishengView view = new SusheweishengView();
            BeanUtils.copyProperties( susheweisheng , view );//把实体数据重构到view中

            //级联表
            SusheEntity sushe = susheService.selectById(susheweisheng.getSusheId());
            if(sushe != null){
                BeanUtils.copyProperties( sushe , view ,new String[]{ "id", "createDate"});//把级联的数据添加到view中,并排除id和创建时间字段
                view.setSusheId(sushe.getId());
            }
            //修改对应字典表字段
            dictionaryService.dictionaryConvert(view);
            return R.ok().put("data", view);
        }else {
            return R.error(511,"查不到数据");
        }

    }

    /**
    * 后端保存
    */
    @RequestMapping("/save")
    public R save(@RequestBody SusheweishengEntity susheweisheng, HttpServletRequest request){
        logger.debug("save方法:,,Controller:{},,susheweisheng:{}",this.getClass().getName(),susheweisheng.toString());
        Wrapper<SusheweishengEntity> queryWrapper = new EntityWrapper<SusheweishengEntity>()
            .eq("sushe_id", susheweisheng.getSusheId())
            .eq("weisheng_types", susheweisheng.getWeishengTypes())
            .eq("weisheng_content", susheweisheng.getWeishengContent())
            ;
        logger.info("sql语句:"+queryWrapper.getSqlSegment());
        SusheweishengEntity susheweishengEntity = susheweishengService.selectOne(queryWrapper);
        if(susheweishengEntity==null){
            susheweisheng.setInsertTime(new Date());
            susheweisheng.setCreateTime(new Date());
        //  String role = String.valueOf(request.getSession().getAttribute("role"));
        //  if("".equals(role)){
        //      susheweisheng.set
        //  }
            susheweishengService.insert(susheweisheng);
            return R.ok();
        }else {
            return R.error(511,"表中有相同数据");
        }
    }

    /**
    * 修改
    */
    @RequestMapping("/update")
    public R update(@RequestBody SusheweishengEntity susheweisheng, HttpServletRequest request){
        logger.debug("update方法:,,Controller:{},,susheweisheng:{}",this.getClass().getName(),susheweisheng.toString());
        //根据字段查询是否有相同数据
        Wrapper<SusheweishengEntity> queryWrapper = new EntityWrapper<SusheweishengEntity>()
            .notIn("id",susheweisheng.getId())
            .eq("sushe_id", susheweisheng.getSusheId())
            .eq("weisheng_types", susheweisheng.getWeishengTypes())
            .eq("weisheng_content", susheweisheng.getWeishengContent())
            ;
        logger.info("sql语句:"+queryWrapper.getSqlSegment());
        SusheweishengEntity susheweishengEntity = susheweishengService.selectOne(queryWrapper);
        if(susheweishengEntity==null){
            //  String role = String.valueOf(request.getSession().getAttribute("role"));
            //  if("".equals(role)){
            //      susheweisheng.set
            //  }
            susheweishengService.updateById(susheweisheng);//根据id更新
            return R.ok();
        }else {
            return R.error(511,"表中有相同数据");
        }
    }


    /**
    * 删除
    */
    @RequestMapping("/delete")
    public R delete(@RequestBody Integer[] ids){
        logger.debug("delete:,,Controller:{},,ids:{}",this.getClass().getName(),ids.toString());
        susheweishengService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    }


}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/921468.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

猿创征文|一位.Net开发工程师的客户端技术栈的学习路线

&#x1f40b;作者简介&#xff1a;博主是一位.Net开发者&#xff0c;同时也是RPA和低代码平台的践行者。 &#x1f42c;个人主页&#xff1a;会敲键盘的肘子 &#x1f430;系列专栏&#xff1a;.Net实用方法总结 &#x1f980;专栏简介&#xff1a;博主针对.Net开发和C站问答过…

mybatis-plus如何使用枚举类来实现性别和标签的数字带描述

文章目录 目录 文章目录 前言 一、环境准备 二、使用步骤 一 实体类 二 枚举类 三 持久层 四 控制层 总结 前言 枚举是一种表示一组有限可能取值的数据类型。它具有以下几个好处&#xff1a; 易于理解和维护&#xff1a;枚举提供了一种清晰明了的方式来表示一组具体的取值&a…

存储技术------存储接口和协议总结

存储技术------存储接口和协议总结 存储技术------存储接口和协议总结一、网络存储接口ATA: 在并行中没落SATA: 在低端徘徊SCSI: 中端存储的主流之选iSCSI &#xff1a;TCP\IP的SCSI SAS: 接口协议的明日帝国FC: 高端应用的基石MSATAM.2: 为SSD存储而生M.2接口&#xff08;NVMe…

Elasticsearch 常见的简单查询

查看es中有哪些索引 请求方式&#xff1a;GET 请求地址&#xff1a;http://localhost:9200 /_cat/indices?v 参数&#xff1a;无 结果&#xff1a; 查看索引全部数据 请求方式&#xff1a;GET 请求地址&#xff1a;http://localhost:9200/index-2023-08/_search 参数&a…

Android开发基础知识总结(五)Activity专题

Activity是安卓开发中的四大组件之一&#xff0c;也是最重要的一者。APP中每一个对应的页面&#xff0c;底层都有唯一地Activity与之对应~ Activity之间通过Intent进行通信,应用中每一个Activity都必须要在AndroidManifest.xml配置文件中声明&#xff0c;否则系统将不识别也不…

龙蜥社区标准化SIG举行线下社区标准研讨会,助力开源社区规范发展

8月11日下午&#xff0c;龙蜥社区标准化SIG组织召开线下MeetUp会议&#xff0c;来自阿里云、浪潮信息、Intel、CSDN、联通软件研究院、红旗软件、中兴通讯|中兴新支点、中科曙光、中科方德、统信软件、龙芯、上海兆芯、麒麟软件、万里红、普华基础软件、飞腾信息等公司的30多位…

AI狂飙,云端IDE如何书写未来?TVP吐槽大会邀您来论道

随着云原生的发展&#xff0c;数字化转型的深入&#xff0c;云端开发场景越发丰富&#xff0c;今年&#xff0c;云端 IDE 逐渐成为聚光灯下的一大焦点&#xff0c;CNCF 在 2023 年云原生预测中提出 “云原生 IDE 成为常态”。云端 IDE 创造了一个端到端的开发环境&#xff0c;并…

4.4TCP半连接队列和全连接队列

目录 什么是 TCP 半连接队列和全连接队列&#xff1f; TCP 全连接队列溢出 如何知道应用程序的 TCP 全连接队列大小&#xff1f; 如何模拟 TCP 全连接队列溢出的场景&#xff1f; 全连接队列溢出会发生什么 ? 如何增大全连接队列呢 ? TCP 半连接队列溢出 如何查看 TC…

思维调试:理解 DDE 的初始化过程

最近有人问我下面这个问题&#xff0c;我们依然可以使用之前我提到的 “思维调试” 来研究研究。 我们碰到了一个技术问题。当在资源管理器中双击打开文档时&#xff0c;资源管理器不会启动我们的应用程序。 更加奇怪的是&#xff0c;如果我们将一个调试器挂接到资源管理器进程…

git通过fork-merge request实现多人协同

一、问题 对于一个项目&#xff0c;如果需要多人协同开发&#xff0c;大家都在原始仓库中进行修改提交&#xff0c;经常会发生冲突&#xff0c;而且一不小心会把别人的代码内容覆盖掉。为了避免这样的问题&#xff0c;git提供了fork-merge request这样的协同方式。 二、仓库框…

Go1.19 排序算法设计实践 经典排序算法对比

详解经典排序算法 01 为什么要学习数据结构与算法 抖音直播排行榜功能 案例 规则&#xff1a;某个时间段内&#xff0c;直播间礼物数TOP10房间获得奖励&#xff0c;需要在每个房间展示排行榜解决方案 •礼物数量存储在Redis-zset中&#xff0c;使用skiplist使得元素整体有序 •…

在vue中使用codemirror格式化JSON

1. 下载指定版本的包 (避免引发不必要的错误) yarn add codemirror^5.64.02. 导入需要的文件 import CodeMirror from codemirrorimport codemirror/addon/lint/lint.cssimport codemirror/addon/fold/foldgutter.cssimport codemirror/lib/codemirror.cssimport codemirror/t…

ARM DIY(一)电源、SD卡座、SOC 调试

文章目录 前言加热台焊接热风枪吹焊电烙铁补焊电源调试SD 卡座调试DRAM 电路调试串口电路调试SOC 调试成品 前言 之前打样的几块 ARM 板&#xff0c;一直放着没去焊接。今天再次看到&#xff0c;决定把它焊起来。 加热台焊接 为了提高焊接效率&#xff0c;先使用加热台焊接…

uni-app 编译报错 Error: pages.json解析失败,不符合 json 规范Unexpected token ‘)‘

问题 使用webstorm开发项目时&#xff0c;打开pages.json习惯性ctrlaltl把代码格式了&#xff0c;然后报错了。 接着使用HBuilder编译&#xff0c;但是一直显示在编译中&#xff0c;完全没有反映。重启编译器与重启电脑都没有用。 没管然后编译报错了。 加上逗号再运行还是报…

【问题解决】容器部署MySQL的数据在docker commit导出的镜像中丢失

问题起因 最近公司有个甲方项目参加竞赛&#xff0c;要求在(基于kubeflow/arena)平台上部置应用&#xff0c;可以将MySQL打包在应用一起&#xff0c;也可以分开部署&#xff0c;没有提供volume相关的支持。大意是可以把初始好的数据直接拿到平台上。 经过本人在Linux虚机中启…

Ribbon:listOfServers ,${variableName:defaultValue}

解释&#xff1a; 配置了address的地址,请求会走address&#xff0c;也就是http://127.0.0.1:8081&#xff0c;通常用户与别的后端服务进行联调设置为其本地服务的ip。 如果address的地址被注释掉&#xff0c;如下面所示&#xff0c;类似这样的占位符${variableName:defaultVa…

基于Web的数字孪生智慧粮仓可视化管理系统

仓廪实、天下安。民之所需&#xff0c;行之所至。 建设背景 古往今来&#xff0c;粮食问题历来是安邦定国的头等大事。“粮食”作为人类生活的生命之源&#xff0c;在人们的日常生活中起着决定性的作用。收获的粮食归仓&#xff0c;仓储工作是稳定“大国粮仓”的重要环节&…

​LeetCode解法汇总1267. 统计参与通信的服务器

目录链接&#xff1a; 力扣编程题-解法汇总_分享记录-CSDN博客 GitHub同步刷题项目&#xff1a; https://github.com/September26/java-algorithms 原题链接&#xff1a;力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 描述&#xff1a; 这里有一幅…

centos7搭建apache作为文件站后,其他人无法访问解决办法

在公司内网的一个虚拟机上搭建了httpsd服务&#xff0c;准备作为内部小伙伴们的文件站&#xff0c;但是搭建好之后发现别的小伙伴是无法访问我机器的。 于是寻找一下原因&#xff0c;排查步骤如下&#xff1a; 1.netstat -lnp 和 ps aux 先看下端口和 服务情况 发现均正常 2.…

开学季触控笔哪个牌子好?ipad第三方电容笔推荐

苹果笔和市场上其他的电容笔最大的区别就是&#xff0c;普通电容笔没有重力式的压力感应&#xff0c;然而&#xff0c;只有有一种倾斜式的压力感应。但是&#xff0c;普通的电容笔也可以用来书写&#xff0c;和苹果的Pencil没有太大的差别&#xff0c;而且大部分都是200元。如今…