版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、浙江科技学院信息与电子工程学院2015届本科毕业设计(论文)PAGE 2浙 江 科 技 学 院本 科 毕 业 论 文(2015届)题 目 宿舍管理系统 学 院 信息与电子工程学院 专 业 班 级 学 号 学生姓名 指导教师 完成日期 2015年5月18日 摘要现如今大学宿舍,因起庞大的学生人数,众多的学生信息,造成管理上的不便。而且一本本纸质的本子,靠人力查询,效率低下。从存放上来讲,本子太多太厚,占太多空间并且相当容易损坏。该学生宿舍管理系统主要分为权限管理和普通功能。权限管理:就是可以使非程序员的管理者可以管理用户的访问权限,所以在界面上要求简单易懂。普通功能:如保修功能,送水功能,离返校
2、签到功能等大多数对用户开发的功能。该系统选择了MySQL做为数据库,开发工具是eclipse,jar包管理用了maven,系统实现了学生个人信息,送水,报修以及管理员管理学生信息,报修记录,送水记录等必需的功能,其操作简单,界面友好,运行比较稳定,适用于学生宿舍管理。关键词: 学生宿舍管理,java,MySQL数据库,eclipseAbstract The enormous numbers of students,too much studentss information , make it difficult for Managers to run the university dormi
3、tory now . Its low efficiency that querying information by men on very thick record books . And we have to spend a lot of space to deposit record books. Its not easy to keep record books . The dormitory management system including the management of jurisdiction and the management of function. Author
4、ization is about permissions , and it should be easy for managers who is not programmer to use this system . The management of function including sending-watger application , repair application and another function used by users . After analysis, the system uses MySQL as the backend database, eclips
5、e as the front-end development tools,system management to achieve the student personal information management , sending-watger application management , repair application management and other necessary information query functions, the operation is simple, friendly interface and stable operation for
6、college students at the university dormitory management. Keywords Student Apartment Management, java,MySQL Database,eclipse目 录 TOC o 1-3 h z u HYPERLINK l _Toc8758 摘要 PAGEREF _Toc8758 II HYPERLINK l _Toc30333 1 绪论 PAGEREF _Toc30333 1 HYPERLINK l _Toc24505 11 开发背景与现状 PAGEREF _Toc24505 1 HYPERLINK l _
7、Toc28159 12 开发设计的意义 PAGEREF _Toc28159 1 HYPERLINK l _Toc12457 2 开发环境介绍 PAGEREF _Toc12457 2 HYPERLINK l _Toc32233 21 开发工具 Eclipse PAGEREF _Toc32233 2 HYPERLINK l _Toc32099 22 数据库 MySQL PAGEREF _Toc32099 3 HYPERLINK l _Toc5240 2.2.1 MySQL概述 PAGEREF _Toc5240 3 HYPERLINK l _Toc27930 2.2.3 MySQL的应用 PAGER
8、EF _Toc27930 3 HYPERLINK l _Toc11841 23 页面脚本 Velocity介绍 PAGEREF _Toc11841 3 HYPERLINK l _Toc23448 3 系统需求分析 PAGEREF _Toc23448 4 HYPERLINK l _Toc19293 3.1 功能需求 PAGEREF _Toc19293 4 HYPERLINK l _Toc30241 3.1.1 基本功能需求 PAGEREF _Toc30241 4 HYPERLINK l _Toc9036 3.1.2 功能模块 PAGEREF _Toc9036 5 HYPERLINK l _Toc
9、86 3.2 性能需求 PAGEREF _Toc86 6 HYPERLINK l _Toc13508 3.2.1数据库选择 PAGEREF _Toc13508 6 HYPERLINK l _Toc2378 4 系统设计 PAGEREF _Toc2378 7 HYPERLINK l _Toc30967 4.1 数据库设计 PAGEREF _Toc30967 7 HYPERLINK l _Toc23079 4.1.1 物理设计 PAGEREF _Toc23079 7 HYPERLINK l _Toc32285 4.1.2 表/字段及表间关系设计 PAGEREF _Toc32285 8 HYPERL
10、INK l _Toc29464 4.2 模块设计 PAGEREF _Toc29464 12 HYPERLINK l _Toc2887 4.2.1 权限管理模块 PAGEREF _Toc2887 12 HYPERLINK l _Toc20553 4.2.2 学生管理模块 PAGEREF _Toc20553 12 HYPERLINK l _Toc16322 4.2.3 学生个人信息模块 PAGEREF _Toc16322 13 HYPERLINK l _Toc16457 4.2.4 系统模块 PAGEREF _Toc16457 13 HYPERLINK l _Toc29329 5 系统的编码与实现
11、 PAGEREF _Toc29329 13 HYPERLINK l _Toc7693 5.1 系统的实现平台 PAGEREF _Toc7693 13 HYPERLINK l _Toc31439 5.1.1 系统环境 PAGEREF _Toc31439 13 HYPERLINK l _Toc5212 5.2 系统功能模块的实现 PAGEREF _Toc5212 14 HYPERLINK l _Toc4077 5.2.1 权限管理模块 PAGEREF _Toc4077 14 HYPERLINK l _Toc32125 5.2.2 宿舍管理模块 PAGEREF _Toc32125 19 HYPERL
12、INK l _Toc10547 5.2.3 学生信息管理模块 PAGEREF _Toc10547 21 HYPERLINK l _Toc18769 5.2.4 离返校管理模块 PAGEREF _Toc18769 24 HYPERLINK l _Toc15848 5.2.5 离返校模块 PAGEREF _Toc15848 25 HYPERLINK l _Toc25921 5.3 数据库插件SQLyog PAGEREF _Toc25921 27 HYPERLINK l _Toc5127 5.4 Maven PAGEREF _Toc5127 27 HYPERLINK l _Toc15536 5.5
13、系统测试 PAGEREF _Toc15536 28 HYPERLINK l _Toc31097 5.5.1 系统测试的目的 PAGEREF _Toc31097 28 HYPERLINK l _Toc24004 5.5.2 系统的测试环境 PAGEREF _Toc24004 28 HYPERLINK l _Toc25631 总 结 PAGEREF _Toc25631 29 HYPERLINK l _Toc28108 致 谢 PAGEREF _Toc28108 30 HYPERLINK l _Toc5943 参 考 文 献 PAGEREF _Toc5943 31PAGE PAGE 311 引言 1
14、1 开发背景与现状随着时代的不断发展,人们对工作效率的要求越来越高。各行各业中都涉及到了信息处理技术,所以信息管理变得越来越重要。而使用计算机来进行信息管理,大大的提高了查询效率,并使数据更容易拷贝和保存,节省了不少人力。学生宿舍是学生休息的地方,所以信息的交汇也特别频繁。如今,部分学生宿舍还是使用纸质本子来记录信息的。当开学、放假离返校这些学生流动量大的时候,信息处理的数据量也大,学生要一个个排队书写离返校信息;而且本子记录了太多信息的时候,在记录上找人却不知道那人几楼几号宿舍时,只能通过一页页翻。很繁琐,效率低,对工作人员来说很累。这就是没有宿舍管理系统的缺点。传统的数据处理采用纸笔操作,
15、工作量大,出错率高,出错后更改不便更不能多次更改。而且数据量一大,本子用的多,开销大。厚厚的记录本,存放占空间。纸质的材质使得保存要格外小心,存放多年容易破损。在以往传统模式下,人工进行纸笔操作的学生宿舍管理,有不少缺点,如:效率底,保密性差,时间一长,大量的文件和数据会存在查询,拷贝,存放上的不便等。这些情况给学校管理者带来了很大困难,严重影响了教育工作者的工作效率,对于以上情况,我们可使用日趋成熟的计算机技术来代替传统的纸笔记录模式, 来实现学生信息的计算机化管理,该技术具有传统的纸笔记录所无法比拟的优点,如:查找快速,方便,安全,巨大的存储量,超长的存储时间, 较低地存储成本和使用成本等
16、。真正好的技术,多数都能让人变懒。一件事情无论何时何地,在电脑上点击几下就能完成,不用排队。 学生宿舍管理系统对于学生来说,在生活上方便了许多。12 开发设计的意义该系统主要2个部分:权限控制,具体功能权限控制,现在各种各样的系统都要求权限控制。我设计为:用户-角色-资源。管理员可以管理用户拥有哪些角色,角色拥有哪些资源权限从而来实现权限控制。这样的话,非程序员的管理者,就可以控制角色的权限。如果要修改所有学生的权限,那就修改学生权限,而不是一个个用户地改,效率快得多。如果要提升某个用户的权限,可以新建一个角色,把新权限赋给该角色,然后把该角色赋给该用户。这种设计方式,在管理系统中用的相当普遍
17、。住校期间,离返校记录,宿舍报修,送水等情况,都是我们下楼找宿舍阿姨,阿姨在本子上记录,然后阿姨再通知相关的校工人员。在整个环节中,宿管阿姨显得十分重要,万一找不到阿姨,学生无法再本子上记录信息,也没人通知校工来进行维修。学生联系宿舍阿姨,阿姨再联系相关的校工来维修,一来一回,学生要等上很久。如果学生直接联系校工的话,还是要找地方记录数据,并且需要校工的联系方式。那如果这一切在网上可以进行的话,就快得多了。而且对于管理员来说,只要在电脑上点几下,一个人就可以管理10个宿舍楼甚至更多的数据。大大的减少了人力的消耗,提高了管理的效率,降低了管理的资源。2 开发环境介绍21 开发工具 Eclipse
18、Eclipse 是一个开放源代码的,基于 Java 的可扩展的开发工具。 Eclipse是广为人知的、免费的、跨平台的集成开发环境(Integrated Development Environment,即IDE)。最初主要用来Java语言开发,但是目前也有人通过插件使其作为其他计算机语言,比如C+的开发工具。Eclipse的本身只是一个框架平台和一组服务,但是众多插件组件构建了开发环境。一方面,Eclipse可作为Java IDE来使用。另一方面,Eclipse的插件(Plug-in Development Environment,PDE)允许希望扩Eclipse的开发人员构建与Eclipse
19、环境集成的工具。简单来说,相对于其他功能相对固定的IDE软件,Eclipse有很大的灵活性。同时,许多软件开发商以Eclipse为框架开发自己的IDE。基于Eclipse的应用程序的出名例子是IBM的WebSphere Studio Workbench,改程序构成了 IBM-Java 开发工具系列的基础。比如,WebSphere Studio Application Developer 添加了对 XML、JSP、EJB、servlet、Web 服务和数据库访问的支持。22 数据库 MySQL2.2.1 MySQL概述 MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。
20、目前MySQL常常被应用在网上上的中小型网站中。因为免费,并且语言较Oracle差别小,学习快速,体积小,速度快,总体拥有成本低,尤其是开放源码等原因,被许多小公司接受。2.2.3 MySQL的应用与其他的大型数据库例如Oracle、Sybase、DB2、PostgreSQL、SQL Server等相比,在市场占有率上处于劣势。但作为一个开源的免费的数据库,对于中小性企业来说,甚至于大型企业来说,少了一笔相当可观的开销。(当然,多数大公司是有他们独自的数据库)但相对于Oracle那高昂的费用,MySQL还是有相当大的优势的。并且该数据库的市场占有率也在逐年增加。23 页面脚本 Velocity
21、介绍Velocity是一个基于java的模板引擎(template engine)。当Velocity应用于web开发时,是MVC构架的一部分,页面设计人员(前端)可以只关注页面显示效果,而由java程序开发人员关注业务逻辑编码。为程序员在JSP和PHP之外又提供了一种可选方案。最初作为模板使用,为的是程序员用.vm文件构建好规则之后,可以根据实体类,来生成控制层,服务层,mapper,以及页面。为的是提升程序员写代码效率。当然生成的模板是死的,多数功能要程序员自己修改。不过,后来因为Velocity作为脚本,使用起来方便(标签的使用规则易学,传数据方便),开始作为脚本使用。作为页面脚本,自身
22、有页面上就可以进行foreach循环,if判断等简单逻辑,复杂处理还是交给js。因为其页面与控制层传数据方便的特点,被许多公司企业采用,作为页面脚本。3 系统需求分析学生宿舍管理实现了权限管理,学生实物的提交申报,以及管理员对信息的管理。该学生宿舍管理系统主要分为权限管理和普通功能。权限管理:就是可以使非程序员的管理者可以管理用户的访问权限,所以在界面上要求简单易懂。具体实现:管理员可以通过管理用户拥有哪些角色,该角色在拥有哪些权限的方式实现。普通功能:分为管理员界面和学生界面。学生界面包括:如保修功能,送水功能,离返校签到功能等大多数对用户开发的功能。管理员界面:包括报修记录管理,送水记录管
23、理,学生离返校记录管理,校工信息管理等与学生功能相对于的功能。该系统选择了MySQL做为数据库,开发工具是eclipse,jar包管理用了maven(本地有一个库,项目通过maven管理来指向这个库,实现了jar包的重用,节约硬盘空间,本地没有的jar包,maven会去网上下)。该系统实现了权限管理,学生个人信息,送水,报修以及管理员管理学生信息,报修记录,送水记录等必需的功能,其操作简单易懂,界面整洁,运行比较稳定,适用于学生宿舍管理。3.1 功能需求3.1.1 基本功能需求主要实现的是学生宿舍管理系统,在设计该系统时,应尽可能的贴近用户,便于用户操作。系统在实现上应该具有如下功能:系统要求
24、用户输入正确的账号和密码才能进入系统。系统应提供管理员对权限的管理,分配用户拥有的角色,以及各个角色对应的权限。系统应提供宿舍管理,就是可以给宿舍入住学生,也可以修改学生所在的宿舍号。系统有学生送水申请功能,管理员对送水记录的管理。系统有学生报修申请功能,管理员对报修记录的管理。系统应该有学生个人信息查询,修改功能,管理员有查询所有学生信息的功能。系统因为保修涉及到联系校工,管理员应该能管理更新校工的信息。系统应该完成密码修改,账号退出的实现。3.1.2 功能模块宿舍管理系统主要实现的功能有:系统管理、权限管理、学生查询、学生个人信息维护等。功能模块图如表3.1所示:宿舍管理系统系统管理登陆修
25、改密码注销权限管理 用户管理 角色管理 模块管理学生管理学生信息管理学生离返校管理校工管理送水管理报修管理宿舍管理学生个人信息个人信息离返校登记报修送水图3.1 宿舍管理系统模块表3.2 性能需求3.2.1数据库选择由于用到的数据表格不是很多,另外考虑到Oracle需要成本。并且该系统不大,小型数据库更加适合该系统,所以我选择了MySQL作为该系统的数据库。而且有SQLyog这类数据库图形化软件,方便了数据库的管理。4 系统设计4.1 数据库设计数据库设计(Database Design)是指根据业务的需求,在某一具体的数据库管理系统上,设计数据库的结构和建立数据库的过程。 数据库设计与业务实
26、体类的字段的个数、多少、种类息息相关。并且数据库的设计,是一个需要一步步完善缺点的过程。所以我在设计数据库时,参考了其他系统对数据库的设计,以及对字段的要求。4.1.1 物理设计从需求分析可以看出,本系统存在以下几个实体:权限控制方面:模块实体:id,排序号,模块名称,路径资源实体:id,资源名称,路径,对应的模块id用户实体:id,登录名,密码,姓名角色实体:id,角色名称角色资源实体:id,角色id,资源id用户角色实体:id,角色id,用户id功能实现方面:学生实体:用于显示学生的属性,包括id,学生姓名、学生性别、学号、宿舍编号、入住日期等宿舍实体:用于显示宿舍的信息,包括房间ID、应
27、住人数、实住人数等校工实体:id,名字,编号,邮箱宿舍物品实体:id,物品编号,物品名称离返校实体:id,学号,宿舍号,离校时间,返校时间报修实体:id,宿舍编号,物品编号,报修申请时间,原因,报修解决时间送水实体:id,宿舍编号,money,是否付款,是否送达,申请提交时间4.1.2 表/字段及表间关系设计用户表 表4.1用户信息表字段名数据类型数据长度是否为空条件Keyididint20nP_K登录名Login_namevarchar20n密码passwordvarchar150n真实姓名read_namevarchar40n用户角色表 表4.2用户角色表字段名数据类型数据长度是否为空条件
28、Keyididint20nP_K用户idUser_idvarchar20n角色idRole_idvarchar20n角色表表4.3角色表字段名数据类型数据长度是否为空条件Keyididint20nP_K角色名namevarchar40n角色资源表表4.4角色资源表字段名数据类型数据长度是否为空条件Keyididint20nP_K角色idRole_idvarchar20n资源idResource_idvarchar20n模块表表4.5模块表字段名数据类型数据长度是否为空条件Keyididint20nP_K排序号serialvarchar20n模块名字namevarchar50n路径urlvarc
29、har50n资源表表4.6资源表字段名数据类型数据长度是否为空条件Keyididint20nP_K模块idModule_idInt20n资源名字namevarchar50n路径urlvarchar50n宿舍表表4.7宿舍表字段名数据类型数据长度是否为空条件Keyididint20nP_K宿舍号dNovarchar20n应住人数numberint10n校工表表4.8校工表字段名数据类型数据长度是否为空条件Keyididint20nP_K邮箱emallvarchar20名字namevarchar50离返校记录表表4.9离返校记录表字段名数据类型数据长度是否为空条件Keyididint20nP_K学
30、生学号sNovarchar20宿舍号dNovarchar50离开时间Left_timevarchar20回校时间Return_timevarchar20宿舍物品表表4.10宿舍物品表字段名数据类型数据长度是否为空条件Keyididint20nP_K物品编号pNovarchar20物品名称pNamevarchar40维修记录表表4.11维修记录表字段名数据类型数据长度是否为空条件Keyididint20nP_K宿舍编号dNovarchar20物品编号pNoint20申请时间Apply_timevarchar20修理完成时间Solve_timevarchar20原因reasonvarchar50送
31、水表表4.1送水记录表字段名数据类型数据长度是否为空条件Keyididint20nP_K宿舍编号dNovarchar20金额moneyint20是否付款payvarchar200为未付款1已付款是否送到sendvarchar200没送到1送到申请时间timevarchar50申请时间学生信息表表4.1学生信息表字段名数据类型数据长度是否为空条件Keyididint20nP_K性别sexvarchar4专业deptvarchar40宿舍号dnovarchar6入住时间Check_invarchar20登录名学号Login_nameint204.2 模块设计用户在学生宿舍管理系统成功登录后,宿舍管
32、理系统的接口会将传过来的用户信息进行核对。并查询到该用户所拥有的角色,角色所拥有的模块以及资源,并进行相关排序。再进行加密后的密码与账号的查找对比。确认登陆信息无误后,然后再跳转到登陆成功页面(index页面),并页面上显示出他相对应的,拥有访问权限的模块。4.2.1 权限管理模块该模块主要是为了方便非程序员的系统管理者管理各个用户的权限设计的。主要分为:用户管理模块,角色管理模块,模块管理模块用户管理模块:管理员可以查询到全部用户,包括管理员本人。可以查询用户所拥有的角色,删除角色,修改角色(一个用户可以拥有多个角色)。 角色管理模块:管理员可以查询到系统全部的角色,目前只有学生、管理员。管
33、理员可以增加角色,删除角色,修改各个角色的权限。从而实现对用户的权限控制。模块管理模块:可以查询系统的父类模块,父类模块下的各个子类模块,每个子类模块所拥有的资源。方便增加、修改或删除每个模块相对应的资源。4.2.2 学生管理模块该模块主要实现:学生信息管理模块,离返校管理模块,报修管理模块,校工管理模块,送水管理模块,宿舍管理模块。学生信息管理模块:通过学号,宿舍号查找学生,可对学生添加,删除,修改学生信息。离返校管理模块:通过学号,宿舍号查找学生,可对离返校记录删除,修改。报修管理模块:通过时间查找报修记录,管理员课删除记录,或试该记录修理成功。校工管理模块:添加校工,修改校工信息,删除校
34、工。送水记录管理模块:按是否送达,是否付款查询,可编辑,删除。是否付款,是否送达由管理员管理。宿舍管理模块:按照宿舍号查询,可添加宿舍,编辑、删除宿舍。可查看该宿舍已入住的学生。可为该宿舍添加学生。4.2.3 学生个人信息模块该模块分为:个人信息模块,离返校模块,报修申请模块,送水申请模块个人信息模块:查看个人的信息,并可对学号、入住时间以外的信息进行修改。学生离返校模块:学生可在网上实现离校,返校的登记报修功能模块:学生保修,只需填写损坏物件、原因,选择维修师傅。提交后维修人员(校工)可收到邮件。邮件内容包括宿舍号,损坏物品,损坏原因。校工的相关信息由管理员管理。送水功能模块:选择送水校工。
35、提交后,校工会收到邮件提醒。邮件包括需要送水的宿舍。校工的相关信息由管理员管理。4.2.4 系统模块注销模块:退出系统并清空缓存。修改密码模块:填写新旧密码(旧密码需要填写2次),实现修改。新旧密码的加密在页面上完成,具体比较在后台完成。登录模块:填写账号,密码,验证码登录。账号为学号。密码加密在页面完成。5 系统的编码与实现5.1 系统的实现平台5.1.1 系统环境1、系统软件环境(1)服务端 操作系统:Microsoft Windows 7数据库系统:MySQL(2)客户端开发工具:Eclipse容器:Jetty开发语言:Java,JavaScript,Velocity2、系统硬件环境(1
36、)服务端:CPU:酷睿I5,内存4G,硬盘500G;5.2 系统功能模块的实现宿舍管理系统主界面图5.1 宿舍管理系统主界面5.2.1 权限管理模块用户管理根据登录名(学号),和用户姓名来查询用户。可看到id,登录名,加密后的密码。图5.2 用户界面编辑用户角色可管理该用户拥有的角色,已经用户的姓名,登录名。 图5.3 用户修改角色界面代码部分修改用户角色界面:显示(查询用户信息,用户拥有的权限,所有权限传给页面):AdmUser admUser = new AdmUser();List all = admUserService.selectAllRole();admUser.setId(In
37、teger.valueOf(id);List admUserList = admUserService.selectRoleByUserID(admUser);AdmUser user = admUserService.selectByPrimaryKey(Integer.valueOf(id);modelMap.addAttribute(user, user);modelMap.addAttribute(all, all);modelMap.addAttribute(item, admUserList);修改用户信息(修改用户个人信息,以及用户角色权限):int n = admUserSer
38、vice.updateByKey(admUser);int a = admUserService.updateUser(id, roleId,admUser.getLoginName();角色管理查询全部角色,可添加角色,删除角色,修改角色权限。图5.4 角色管理界面修改角色权限:管理该角色,在每个模块下所拥有的权限。 图5.5 角色修改权限界面代码部分角色权限更改:AdmRoleController.java显示:AdmModule admModule = new AdmModule();List all = admRoleService.selectAll();admModule.setI
39、d(Integer.valueOf(id);List admRoleList = admRoleService.selectByID(admModule);AdmRole admRole = admRoleService.selectRole(Integer.parseInt(id);modelMap.addAttribute(item, admRoleList);modelMap.addAttribute(all, all);modelMap.addAttribute(admRole, admRole);修改:List admModuleList = new ArrayList();if(r
40、esourceId != null)for (String resId : resourceId) if (null != resId & != resId) AdmModule admModule = new AdmModule();if (admRole.getName() = null) admModule.setRoleId(Integer.parseInt(roleId);admModule.setAdmName(admName); else admModule.setAdmName(admRole.getName();admModule.setResourceId(Integer.
41、parseInt(resId);admModuleList.add(admModule);int n = admRoleService.edit(admModuleList);拿到权限下的每个资源,并传到serviceAdmRole adm = new AdmRole();adm.setId(admModuleList.get(0).getRoleId();adm.setName(admModuleList.get(0).getAdmName();admRoleMapper.updateByPrimaryKey(adm);/ 改角色名字admRoleResourceMapper.deleteB
42、yRoleId(admModuleList.get(0).getRoleId();/ 去旧权限int i = 0;for (AdmModule amd : admModuleList) i = i + admRoleResourceMapper.insertRolrResource(amd);/ 新权限return i;在serviceImp删除该角色旧权限,添加新权限。具体的语句: insert into adm_role_resource ( role_id,resource_id, create_person, modified_person, gmt_create, gmt_modif
43、ied) values (#roleId,jdbcType=INTEGER, #resourceId,jdbcType=INTEGER, #admName,jdbcType=VARCHAR,#admName,jdbcType=VARCHAR, NOW(), NOW() delete from adm_role_resource where role_id = #id,jdbcType=INTEGER模块管理查询系统的全部模块,可修改模块,添加子模块,删除模块。图5.6 模块管理界面查询全部模块,并按字符排序。查询结果返回给页面。代码:查询全部模块,并按serial字段排序List admMod
44、uleList = admModuleMapper.selectByExample(example);Collections.sort(admModuleList, new Comparator() public int compare(AdmModule arg0, AdmModule arg1) return (arg0.getSerial().compareTo(arg1.getSerial(););修改模块资源:显示该模块拥有哪些资源,没有哪些资源。5.2.2 宿舍管理模块宿舍管理查询根据宿舍号进行查询。关联学生表,分别查询出该宿舍,宿舍号,应住人数,实住人数图5.7 住宿界面代码部分
45、宿舍页面:dormitory.vm控制层:DormitoryController用到的接口DormitoryService int deleteByKey(Integer id);/根据id删除 int insert(Dormitory record);/添加宿舍 List selectByExample(Dormitory example);/按条件查找宿舍 Dormitory selectByPrimaryKey(Integer id);/按id查 int updateByKey(Dormitory record);/更新信息DormitoryMapperint deleteByPrima
46、ryKey(Integer id);/删除int insert(Dormitory record);/添加List selectByExample(Dormitory example);/查找Dormitory selectByPrimaryKey(Dormitory dor);/查找int updateByPrimaryKeySelective(Dormitory record);/更新给房间添加学生给该房间添加学生,同时添加一个用户,该用户拥有学生角色。图5.8 给房间添加学生界面查找该宿舍入住的学生根据该宿舍的宿舍号,查询该宿舍入住的学生,同时可以修改该学生相关信息。图5.9 办理退宿界
47、面5.2.3 学生信息管理模块学生信息查询通过学号、宿舍号查询学生,可对学生信息进行相关修改。以及填写学生,删除学生。图5.10 房间查询界面代码部分学生信息控制层:StudentInfoController.java界面:studentInfo.vm用到的接口:studentInfoService方法: List selectByStudent(StudentInfo student);/根据学号,宿舍号查询学生studentInfoMapper方法List selectByStudent(StudentInfo student);/具体的查询语句添加学生需要输入学生的登录名(学号),密码,
48、真实姓名,选择身份,性别,专业,宿舍号。提交后会生成相关用户,该用户拥有学生权限。密码加密在页面上完成。图5.11 添加学生界面用到的接口studentInfoService.javaadmUserService.javaservice方法 int insert(StudentInfo record);/添加一个学生int insert(AdmUser record);/添加一个用户int updateUser(String id, String roleId, String loginName);admUserMappermapper方法 int insert(StudentInfo rec
49、ord);int insert(AdmUser record);int selectLastInsertID();int deleteUserRole(Integer id);int insertUserRole(AdmUser admUser);删除学生信息代码部分StudentInfoService方法int deleteByKey(Integer id);/根据学号删除学生StudentInfoMapperint deleteByPrimaryKey(Integer id);/到xml文件里,调用具体的删除语句 修改学生信息修改学生信息,包括专业,宿舍号,入住时间,性别(为了防止输错,所
50、以大多信息都可以修改)。密码信息有专门页面修改。图5.12 修改学生界面代码部分StudentInfoService服务层方法StudentInfo selectPersion(Integer id);/根据学号查到该学生的个人信息int updateByKey(StudentInfo record);/修改该学生的个人信息StudentInfoMapperStudentInfo selectPersion(StudentInfo stu);int updateByPrimaryKeySelective(StudentInfo record);5.2.4 离返校管理模块离返校管理查询按住学号,
51、宿舍号来查询所以学生离返校记录,管理员可修改离返校时间,或删除记录图5.13离返校管理界面代码部分DioStuentAlt.java用到的接口leaveSchoolService服务层方法 List selectByExample(LeaveSchool example);/按照学号,宿舍号查询离返校记录leaveSchoolMapper方法 List selectByExample(LeaveSchool example);/5.2.5 离返校模块学生个人离返校记录从缓存中得到学生个人信息,查询该学生全部的离返校记录,学生可以自主离校返校。该学生离返校记录生成,需要的个人信息在账号缓存中得到
52、。离返校时间为点击离返校功能的当时时间。时间格式为(2015-04-04 15:00:00)图5.14 学生个人离返校界面代码部分:用户添加:stuLeaveSchool.java查询个人已有的离返校记录LeaveSchool example=new LeaveSchool();AdmUser user = (AdmUser) request.getSession().getAttribute(admuser);example.setsNo(user.getLoginName();/得到用户学生个人相关信息List leaveSchoolList = leaveSchoolService.se
53、lectByExample(example);modelMap.addAttribute(items, leaveSchoolList);离校接口添加一条离校记录LeaveSchoolServiceleaveSchoolMapper方法:LeaveSchoolService : int insert(LeaveSchool record);/服务层LeaveSchoolMapper : int insert(LeaveSchool record);/Mapper具体的查询语句返校接口对一次离校记录,添加返校时间(时间为当时时间,不需要人为输入)LeaveSchoolServiceleaveSc
54、hoolMapper方法:LeaveSchoolService : int updateById(String id);/服务层LeaveSchoolMapper :int updateById(String id);Mapper5.3 数据库插件SQLyog因为在系统开发时要对数据库进行操作,所以用了SQLyog这个插件。该软件是一款易于使用的、简洁而快速的图形化管理MYSQL数据库的工具。它能够在任何地点有效地管理你的数据库。因为原先都是在控制台输入sql语句,来实验语句是否存在错误。而使用SQLyog的话,输入Ip,账号,密码就可远程连接数据库,并对数据库进行增删改查。界面效果简单整洁,
55、软件稳定方便。该软件因为免费,小巧等原因,常用于涉及MYSQL数据库的项目开发之中。图5.15 SQLyog登陆界面5.4 Maven一款项目管理工具,使用他的原因是安装简单,节省硬盘空间。主要功能是:Jar包的管理,Maven在电脑本地存在一个Jar库,项目通过Maven组件指向Jar包。当电脑上,项目过多时,项目与项目之间会有重复的Jar包,占了不必要的硬盘空间。而使用了Maven后Jar包可以重用,因为每一个项目上有一个路径,指向本地库中的Jar。如果本地库没有该项目所需要的Jar包,那么右键项目,选中maven,update Project。Maven会去maven仓库网站(/sear
56、ch)上自动下载Jar包。另外,Maven默认就配置了apache的中央仓库,所以安装maven后只需要设置本地库,不需要人手动设置远程库。5.5 系统测试5.5.1 系统测试的目的一个未经多次考验的系统,难免存在各种各样的问题。查询条件传递的不正确,查询结果页面渲染不好,页面之间跳转出错,页面功能没完全实现等等。所以,每完成一个功能后,都需要程序员进行多次调试,再交由测试人员进行调试。以免出现不必要的麻烦,影响客户体验。5.5.2 系统的测试环境测试数据的方法(1) 数据输入选择几组数据进行添加操作,再查询是否添加成功。 (2) 数据查询数据输入后,通过数据查询,查看查询结果是否符合输入的查询条件,以确认查询的正确性。 (3) 数据的删除通过对数据的删除,然后进行查询,验证数据是否已经成功删除。 (4) 数据
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年华东师大版九年级生物上册月考试卷含答案
- 2025年北师大新版选修4地理下册月考试卷含答案
- 二零二五版拌合料行业技术交流与合作开发合同4篇
- 二零二五年度陶瓷面砖研发及采购合同4篇
- 二零二五版美团外卖外卖配送高峰期应急预案合同4篇
- 2025年新型共享办公空间租赁合同3篇
- 挂钩生产单位的合同(2篇)
- 2025年度木门安装工程招标合同4篇
- 2025年度门窗安装工程设计与施工一体化合同4篇
- 2025年度民间借贷融资租赁与资产证券化合同4篇
- 射频在疼痛治疗中的应用
- 和平精英电竞赛事
- 四年级数学竖式计算100道文档
- “新零售”模式下生鲜电商的营销策略研究-以盒马鲜生为例
- 项痹病辨证施护
- 职业安全健康工作总结(2篇)
- 怀化市数字经济产业发展概况及未来投资可行性研究报告
- 07FD02 防空地下室电气设备安装
- 教师高中化学大单元教学培训心得体会
- 弹簧分离问题经典题目
- 部编版高中历史中外历史纲要(下)世界史导言课课件
评论
0/150
提交评论