java SSM 宿舍管理系统myeclipse开发mysql数据库springMVC模式java编程计算机网页设计

一、源码特点
    java SSM 宿舍管理系统是一套完善的web设计系统(系统采用SSM框架进行设计开发,spring+springMVC+mybatis),对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myeclipse8.5开发,数据库为Mysql5.0,使用java语言开发。
二、功能介绍
1、首页:首页显示所有公告。发布公告,对公告进行增删改查。
2、宿舍管理:页面显示所有宿舍信息,mysql数据库表单包括id、宿舍号、宿舍类型(男生宿舍,女生宿舍)、最大人数、联系电话、评分、备注。对所有数据增删改,查询按宿舍号和宿舍类型查询。(匹配数据库,已有的宿舍号无法新增,提示已存在宿舍)
3、学生信息管理:页面显示所有学生信息,mysql数据库表单包括id、学号、密码、姓名、生日、性别、所在地、电话、班级、专业、起床时间、睡觉时间、兴趣爱好、生活习惯、备注。对所有数据增删改,按学号、姓名进行查询。(匹配数据库,已有学号无法新增,提示已存在学生)
4、宿舍管理员管理:页面显示所有宿舍管理员信息,mysql数据库表单包括id、工号、密码、姓名、身份证号码、性别、电话、备注。对所有数据增删改,查询按工号和姓名。(匹配数据库,已有工号无法新增,提示已存在宿舍管理员)
5、宿舍分配:页面显示所有宿舍信息。包括宿舍号、宿舍类型(男生宿舍,女生宿舍)、最大人数、联系电话、评分、备注。功能有自动分配、手动分配、查看宿舍住宿人员(宿舍号、学号、姓名、入住时间、备注、操作(退宿、成为宿舍长))
自动分配功能:按学生的专业、作息时间、兴趣爱好、生活习惯、将相似的学生自动分配到一起
6、水电费缴费管理:页面显示缴费信息。mysql数据库表单包括id、宿舍号、宿舍类型、最大人数、联系电话、应缴电费、应缴水费、评分、备注。对所有数据增删改,查询按宿舍号、宿舍类型查询。


宿舍管理员模块
1、首页:首页显示所有公告。发布公告,对公告进行增删改查。
2、宿舍管理:页面显示所有宿舍信息,mysql数据库表单包括id、宿舍号、宿舍类型(男生宿舍,女生宿舍)、最大人数、联系电话、评分、备注。对所有数据增删改,查询按宿舍号、宿舍类型查询。(匹配数据库,已有的宿舍号无法新增,提示已存在宿舍)
3、学生信息管理:页面显示所有学生信息,mysql数据库表单包括id、学号、密码、姓名、生日、性别、所在地、电话、班级、专业、起床时间、睡觉时间、兴趣爱好、生活习惯、备注。对所有数据增删改,按学号、姓名进行查询。
(匹配数据库,已有学号无法新增,提示已存在学生)
4、宿舍分配:页面显示所有宿舍信息。包括宿舍号、宿舍类型(男生宿舍,女生宿舍)、最大人数、联系电话、评分、备注。功能有自动分配、手动分配(输入学号分配)、查看宿舍住宿人员(宿舍号、学号、姓名、入住时间、备注、操作(退宿、成为宿舍长))
自动分配功能:按学生的专业、作息时间、兴趣爱好、生活习惯、将相似的学生自动分配到一起
5、水电费缴费管理:页面显示缴费信息。mysql数据库表单包括id、宿舍号、宿舍类型、最大人数、联系电话、应缴电费、应缴水费、评分、备注。对所有数据增删改,查询按宿舍号、宿舍类型查询。


学生个人管理模块 
1、首页:首页显示所有公告。对公告进行浏览。
2、个人信息管理:页面显示学生信息,mysql数据库表单包括id、学号、密码、姓名、生日、性别、所在地、电话、班级、专业、起床时间、睡觉时间、兴趣爱好、生活习惯、备注。对所有数据修改。
3、宿舍信息查看:浏览本宿舍所有成员的信息。包括学号、姓名、生日、性别、所在地、电话、班级、专业、起床时间、睡觉时间、兴趣爱好、生活习惯、备注。
4、水电费缴费:页面显示缴费信息。mysql数据库表单包括id、宿舍号、宿舍类型、最大人数、联系电话、应缴电费、应缴水费、评分、备注。(进行水费、电费缴费操作)

关键代码设计:

   Map<Character, int[]> vectorMap = new HashMap<Character, int[]>();

    int[] tempArray = null;

    public Similarity(String string1, String string2) {

        for (Character character1 : string1.toCharArray()) {
            if (vectorMap.containsKey(character1)) {
                vectorMap.get(character1)[0]++;
            } else {
                tempArray = new int[2];
                tempArray[0] = 1;
                tempArray[1] = 0;
                vectorMap.put(character1, tempArray);
            }
        }
        for (Character character2 : string2.toCharArray()) {
            if (vectorMap.containsKey(character2)) {
                vectorMap.get(character2)[1]++;
            } else {
                tempArray = new int[2];
                tempArray[0] = 0;
                tempArray[1] = 1;
                vectorMap.put(character2, tempArray);
            }
        }
    }

    // 求余弦相似度
    public double sim() {
        double result = 0;
        result = pointMulti(vectorMap) / sqrtMulti(vectorMap);
        return result;
    }

    private double sqrtMulti(Map<Character, int[]> paramMap) {
        double result = 0;
        result = squares(paramMap);
        result = Math.sqrt(result);
        return result;
    }

    // 求平方和
    private double squares(Map<Character, int[]> paramMap) {
        double result1 = 0;
        double result2 = 0;
        Set<Character> keySet = paramMap.keySet();
        for (Character character : keySet) {
            int temp[] = paramMap.get(character);
            result1 += (temp[0] * temp[0]);
            result2 += (temp[1] * temp[1]);
        }
        return result1 * result2;
    }

    // 点乘法
    private double pointMulti(Map<Character, int[]> paramMap) {
        double result = 0;
        Set<Character> keySet = paramMap.keySet();
        for (Character character : keySet) {
            int temp[] = paramMap.get(character);
            result += (temp[0] * temp[1]);
        }
        return result;
    }


三、注意事项
    1、管理员账号:admin 密码:admin 数据库配置文件datasource.properties
     2、开发环境为TOMCAT7.0,Myeclipse8.5开发,数据库为Mysql5.0,使用java语言开发。
    3、数据库文件名是jspssmsushe.sql,系统名称ssmsushe
    4、系统首页地址:http://127.0.0.1:8080/ssmsushe/

四 系统实现

 

 

 

 

 源码获取 下方联系卡片↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

JVM零基础到高级实战之内存区域分布与概述

JVM零基础到高级实战之内存区域分布与概述 JVM零基础到高级实战之内存区域分布与概述 文章目录 JVM零基础到高级实战之内存区域分布与概述前言Java语言为甚么优势巨大&#xff1f;总结 前言 JVM零基础到高级实战之内存区域分布与概述 Java语言为甚么优势巨大&#xff1f; 一处…

强大的工具:APISpace IP归属地查询API

引言 IP地址在互联网世界中扮演着重要的角色&#xff0c;对于许多应用程序和服务来说&#xff0c;了解IP地址的归属地信息可以提供有价值的洞察和功能。 在本文中&#xff0c;我们将介绍一种名为IP归属地-IPv4区县级 API 的强大工具&#xff0c;它提供了查询 IP 地址归属地信…

网内计算:可编程数据平面和技术特定应用综述

网内计算&#xff1a;可编程数据平面和技术特定应用综述 摘要——与云计算相比&#xff0c;边缘计算提供了更靠近终端设备的处理&#xff0c;降低了用户体验的延迟。最新的In-Network Computing范例采用可编程网络元素在数据达到边缘或云服务器之前计算&#xff0c;促进了常见…

《百年孤独》15句经典语录

句句都是人生真相&#xff0c;说透了所有人的孤独。 1、生命中曾经有过的所有灿烂&#xff0c;原来终究&#xff0c;都需要用寂寞来偿还。 2、过去都是假的&#xff0c;回忆是一条没有尽头的路。 这句话是最受读者欢迎的一句话&#xff0c;回忆就是一条没有尽头的路&#xf…

【嵌入式环境下linux内核及驱动学习笔记-(16)linux总线、设备、驱动模型之input框架】

目录 1、Linux内核输入子系统概念导入1.1 输入设备工作机制1.2 运行框架1.3 分层思想 2、驱动开发步骤2.1 在init()或probe()函数中2.2 在exit&#xff08;&#xff09;或remove&#xff08;&#xff09;函数中&#xff1a;2.3 上报事件2.4 input驱动要素导图2.5 input驱动的总…

LVS负载均衡群集部署——DR直接路由模式

这里写目录标题 一 、 LVS-DR 工作原理二、数据包流向分析三、LVS-DR 模式的特点四、ARP问题4.1 问题一&#xff1a;IP地址冲突4.2 问题二&#xff1a;第二次再有访问请求 五、部署LVS-DR集群5.1 配置Tomcat 多实例服务器5.2 配置web节点服务器配置web1节点服务器配置Nginx七层…

Flutter进阶篇-布局(Layout)原理

1、约束、尺寸、位置 overrideWidget build(BuildContext context) {return Scaffold(body: LayoutBuilder(builder: (context, constraints) {print("body约束:" constraints.toString());return Container(color: Colors.black,width: 300,height: 300,child: L…

MATLAB | 绘图复刻(九) | 泰勒图及组合泰勒图

有粉丝问我这个图咋画&#xff1a; 我一看&#xff0c;这不就泰勒图嘛&#xff0c;就fileexchange上搜了一下泰勒图绘制代码&#xff0c;但是有的代码比较新的版本运行要改很多地方&#xff0c;有的代码需要包含一些压缩包没并没有的别人写的函数&#xff0c;于是我干脆自己写了…

【MySQL 数据库】11、学习 MySQL 中的【锁】

目录 一、锁的概述与分类二、全局锁&#xff08;全库数据备份&#xff09;三、表级锁(1) 表锁(2) 元数据锁&#xff08;Meta Data Lock&#xff09;(3) 意向锁 四、行级锁(1) 行锁(2) 间隙锁&临键锁 一、锁的概述与分类 锁是计算机协调多个进程或线程并发访问某一资源的机…

国产Gauss 分布式数据库概述

一、前言 GaussDB 是华为2023年6月7日发布新一代分布式数据库&#xff0c;采用share-nothing架构&#xff0c;数据自动分片&#xff0c;通过GTM-Lite技术实现事务强一致&#xff0c;无中心节点性能瓶颈&#xff0c;是华为基于openGauss自主创新研发的一款分布式关系型数据库&am…

STM32CubeMX | 44 - 使用GPIO点亮单总线RGBLED

一、单总线RGBLED 1. 硬件连接 在DragonFly上有四个全彩灯相连: 其中RGB_LED连接到STM32的PB9引脚。 2. 单总线通信协议 单总线通信协议中,表示bit0和bit1的码型如下: 时序值如下: 驱动一个单总线RGBLED只需要传输24bit颜色数据即可(MSB,高位优先),格式如下(注意…

C++设计模式 - 创建型模式之工厂模式

文章目录 C设计模式 - 创建型模式之工厂模式接口和针对接口编程 1. 简单工厂模式适用场合UML代码示例 2. 工厂方法模式适用场合UML代码示例 3. 抽象工厂模式适用场合UML代码示例 总结 C设计模式 - 创建型模式之工厂模式 工厂模式属于创建型模式&#xff0c;大致可以分为三类&a…

力扣 209. 长度最小的子数组

一、题目描述 给定一个含有 n 个正整数的数组和一个正整数 target。 找出该数组中满足其和大于等于 target 的长度最小的连续子数组&#xff0c;并返回其长度。如果不存在符合条件的子数组&#xff0c;返回 0。 示例 1&#xff1a; 输入&#xff1a;target 7, nums [2,3,1…

Uni-app学习从0到1开发一个app——(3)简单小工程内容介绍

文章目录 工程文件 看看一个标准的hello微信小程序工程文件的组成和作用。 工程文件 可以参考官方教程&#xff1a;传送门 之前的文章有详细的开发环境介绍&#xff0c;传送门Uni-app学习从0到1开发一个app——(2)windowns环境搭配&#xff0c;这里我们先建一个简单的示例微信…

C++教程(06)——变量类型

C 变量类型 变量其实只不过是程序可操作的存储区的名称。C 中每个变量都有指定的类型&#xff0c;类型决定了变量存储的大小和布局&#xff0c;该范围内的值都可以存储在内存中&#xff0c;运算符可应用于变量上。 变量的名称可以由字母、数字和下划线字符组成。它必须以字母…

华为OD机试真题B卷 Java 实现【自守数】,附详细解题思路

一、题目描述 自守数是指一个数的平方的尾数等于该数自身的自然数。例如&#xff1a;252 625&#xff0c;762 5776&#xff0c;93762 87909376。 请求出n(包括n)以内的自守数的个数。 数据范围&#xff1a; 1≤n≤10000 二、输入描述 int型整数。 三、输出描述 n以内…

大话Stable-Diffusion-Webui-动手开发一个简单的stable-diffusion-webui(一)

文章目录 写在前面整体效果开发所需环境开发工具需要具备的知识Node安装更改npm包安装的目录设置npm镜像vscode安装创建vue项目代码编写项目先体验注意写在前面 stable-diffusion-webui(以下简称sd)项目通过FastAPI对外提供了一系列的api用于开发者二次开发或者集成到自己的…

005Mybatis返回值(ResultMap 一对多,多对多)

属性 id 应该总是指定一个或多个可以唯一标识结果的属性。 虽然&#xff0c;即使不指定这个属性&#xff0c;MyBatis 仍然可以工作&#xff0c;但是会产生严重的性能问题。 只需要指定可以唯一标识结果的最少属性。显然&#xff0c;你可以选择主键&#xff08;复合主键也可以…

MixQuery系列(一):多数据源混合查询引擎调研

背景 存储情况 当前的存储引擎可谓百花齐放,层出不穷。为什么会这样了?因为不存在One for all的存储,不同的存储总有不同的存储的优劣和适用场景。因此,在实际的业务场景中,不同特点的数据会存储到不同的存储引擎里。 业务挑战 然而异构的存储和数据源,却给分析查询带…

Vue中如何进行状态持久化(LocalStorage、SessionStorage)

Vue中如何进行状态持久化&#xff08;LocalStorage、SessionStorage&#xff09;&#xff1f; 在Vue应用中&#xff0c;通常需要将一些状态进行持久化&#xff0c;以便在用户关闭浏览器或刷新页面后&#xff0c;仍能保留之前的状态。常见的持久化方式包括LocalStorage和Sessio…