基于JavaWeb技术实现宿舍管理系统
技术介绍
系统采用三层架构设计开发,页面是JSP技术、jQuery和EasyUI框架,数据库是mysql,数据层访问使用MyBatis框架。
运行环境
JDK1.8
tomcat8.5
MySQL5.7
功能介绍
系统角色分为系统管理员、宿舍管理员、学生。系统的主要功能有:登录功能、学生注册功能、宿舍管理员管理功能、学生管理功能、宿舍楼管理功能、缺勤记录管理功能、修改密码、退出系统。登录、修改密码和退出系统是所有用户都具有的,除了这些系统管理员还具有宿舍管理员管理功能、学生管理功能、宿舍管理功能和缺勤记录管理功能;宿舍管理员还具有学生管理功能、缺勤记录管理功能;学生还具有学生注册功能和缺勤记录查询功能。
登录功能
用户输入账号、密码,勾选账号类型进行登录。
系统管理员模块
宿舍管理员管理功能
对宿舍管理员查询、增加、修改、删除和条件搜索。
学生管理
对学生信息进行查询、添加、修改、删除和条件搜索。
宿舍楼管理
对宿舍楼信息进行查询、添加、修改、删除和条件搜索。
缺勤记录管理
对缺勤记录进行查询、添加、修改、删除和条件搜索。
宿舍管理员模块
学生管理
对宿舍管理员所管理的那栋宿舍楼的学生信息进行查询、添加、修改、删除和条件搜索。
缺勤记录管理
对宿舍管理员所管理的那栋宿舍楼的学生的缺勤记录信息进行查询、添加、修改、删除和条件搜索。
学生模块
缺勤记录功能
查询自己的缺勤记录。
修改密码
用户输入旧密码、新密码和再次输入新密码,点击提交后,则修改密码成功,系统会清除登录信息,用户需重新登录。
退出系统
用户点击退出系统后系统会清除用户此次登录信息退出系统。
实现
数据库的准备
absent(缺勤记录信息表)
字段名数据类型是否主键null说明absent_idint是否编号stu_idint否否学生表编号remarkstext否是备注datevarchar否否日期
dormitory(宿舍楼信息表)
字段名数据类型是否主键NULL说明dormitory_idint是否编号dormitory_namevarchar否否宿舍名brief_introductiontext否是简介
houseparent(宿舍管理员表)
字段名数据类型是否主键NULL说明houseparent_idint是否编号namevarchar否否姓名genderchar否否性别phonechar否否电话dormitory_idint否是宿舍楼编号user_idint否是用户编号
student(学生信息表)
字段名数据类型是否主键NULL说明stu_idint是否编号student_idchar否否学号genderchar否否性别dormitory_idint否是宿舍楼编号phonechar否否电话dorm_nochar否否寝室号user_idint否是用户编号s_namevarchar否否姓名
USER(用户表)
字段名数据类型是否主键NULL说明user_idint是否编号user_namevarchar否否用户名passwordvarchar否否密码naturechar否否用户性质
数据库sql语句:
/*
SQLyog Enterprise v12.14 (64 bit)
MySQL - 5.7.38-log : Database - practical_training
*********************************************************************
*//*!40101 SET NAMES utf8 */;/*!40101 SET SQL_MODE=''*/;/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;CREATEDATABASE/*!32312 IF NOT EXISTS*/`practical_training`/*!40100 DEFAULT CHARACTER SET utf8 */;USE`practical_training`;/*Table structure for table `absent` */DROPTABLEIFEXISTS`absent`;CREATETABLE`absent`(`absent_id`int(11)NOTNULLAUTO_INCREMENT,`stu_id`int(11)NOTNULL,`remarks`text,`date`varchar(10)NOTNULL,PRIMARYKEY(`absent_id`),KEY`stu_id`(`stu_id`),CONSTRAINT`absent_ibfk_1`FOREIGNKEY(`stu_id`)REFERENCES`student`(`stu_id`))ENGINE=InnoDBAUTO_INCREMENT=14DEFAULTCHARSET=utf8;/*Data for the table `absent` */insertinto`absent`(`absent_id`,`stu_id`,`remarks`,`date`)values(3,3,'','2022-03-05'),(4,14,'','2022-03-14'),(6,10,'','2022-03-03'),(7,15,'','2022-05-11'),(8,20,'','2022-05-10'),(9,17,'','2022-05-07'),(10,2,'','2022-06-16'),(11,2,'','2022-06-24'),(12,15,'宿舍管理员添加测试','2022-06-25'),(13,22,'3点才回的','2022-06-18');/*Table structure for table `dormitory` */DROPTABLEIFEXISTS`dormitory`;CREATETABLE`dormitory`(`dormitory_id`int(11)NOTNULLAUTO_INCREMENT,`dormitory_name`varchar(10)NOTNULL,`brief_introduction`text,PRIMARYKEY(`dormitory_id`))ENGINE=InnoDBAUTO_INCREMENT=19DEFAULTCHARSET=utf8;/*Data for the table `dormitory` */insertinto`dormitory`(`dormitory_id`,`dormitory_name`,`brief_introduction`)values(5,'3号楼','无了无'),(7,'7号楼','这是女生宿舍'),(8,'8号楼','空宿舍'),(9,'9号楼','研究生宿舍'),(10,'10号楼','教职工宿舍'),(11,'11号楼','插入测试2'),(12,'12号楼','插入测试3'),(13,'15号楼','成功了'),(15,'1号楼','有历史的一栋宿舍'),(16,'2号楼','一直都是'),(17,'17号楼',''),(18,'19号楼','成功成功');/*Table structure for table `houseparent` */DROPTABLEIFEXISTS`houseparent`;CREATETABLE`houseparent`(`houseparent_id`int(11)NOTNULLAUTO_INCREMENT,`name`varchar(10)NOTNULL,`gender`char(2)NOTNULL,`phone`char(11)NOTNULL,`dormitory_id`int(11)DEFAULTNULL,`user_id`int(11)DEFAULTNULL,PRIMARYKEY(`houseparent_id`),KEY`dormitory_id`(`dormitory_id`),KEY`user_id`(`user_id`),CONSTRAINT`houseparent_ibfk_1`FOREIGNKEY(`dormitory_id`)REFERENCES`dormitory`(`dormitory_id`),CONSTRAINT`houseparent_ibfk_2`FOREIGNKEY(`user_id`)REFERENCES`user`(`user_id`))ENGINE=InnoDBAUTO_INCREMENT=17DEFAULTCHARSET=utf8;/*Data for the table `houseparent` */insertinto`houseparent`(`houseparent_id`,`name`,`gender`,`phone`,`dormitory_id`,`user_id`)values(2,'李凤','女','13724760961',5,4),(4,'李四','男','12345678901',11,5),(5,'杨琴','女','13558954912',13,6),(6,'王五','男','13789546524',5,7),(8,'郑雪','女','13456789542',15,9),(9,'宋和','男','13456879521',9,8),(10,'刘枫','男','13745687452',9,16),(12,'王宝贵','男','13745892784',8,12),(13,'冼彩','女','18569742563',10,10),(15,'雷秦','男','13447746362',15,18);/*Table structure for table `student` */DROPTABLEIFEXISTS`student`;CREATETABLE`student`(`stu_id`int(11)NOTNULLAUTO_INCREMENT,`student_id`char(4)NOTNULL,`gender`char(2)NOTNULL,`dormitory_id`int(11)DEFAULTNULL,`phone`char(11)NOTNULL,`dorm_no`char(6)DEFAULTNULL,`user_id`int(11)DEFAULTNULL,`s_name`varchar(20)NOTNULL,PRIMARYKEY(`stu_id`,`student_id`),KEY`dormitory_id`(`dormitory_id`),KEY`user_id`(`user_id`),CONSTRAINT`student_ibfk_1`FOREIGNKEY(`dormitory_id`)REFERENCES`dormitory`(`dormitory_id`),CONSTRAINT`student_ibfk_3`FOREIGNKEY(`user_id`)REFERENCES`user`(`user_id`))ENGINE=InnoDBAUTO_INCREMENT=26DEFAULTCHARSET=utf8;/*Data for the table `student` */insertinto`student`(`stu_id`,`student_id`,`gender`,`dormitory_id`,`phone`,`dorm_no`,`user_id`,`s_name`)values(2,'0002','男',5,'13724760692','3-211',42,'吴为'),(3,'0003','女',5,'13414987965','3-101',19,'欧金凤'),(4,'0004','男',16,'13516877895','2-120',20,'李四'),(5,'0005','男',7,'13754896854','7-608',21,'杨过'),(7,'1023','男',9,'18546975848','9-586',23,'张凡'),(8,'0123','男',12,'17598648263','12-698',24,'宋江'),(9,'2015','女',15,'16589759648','1-987',25,'孙二娘'),(10,'1256','男',12,'16587944856','12-895',26,'曾小贤'),(11,'3658','女',10,'13459876825','10-895',27,'叶小苹'),(12,'4567','男',15,'15322468959','1-315',28,'陈江河'),(14,'3698','女',8,'17894568745','8-897',29,'孙大圣'),(15,'1358','男',5,'13597584684','3-456',30,'叶开'),(16,'6598','女',13,'13789546958','15-895',31,'徐娘子'),(17,'0269','男',7,'13548974864','7-990',33,'宋乐'),(20,'2563','男',10,'13414987966','10-112',36,'张良'),(21,'1987','女',9,'13487956485','9-226',40,'杨丽丽'),(22,'8888','男',9,'13548785898','9-256',39,'梁柱'),(23,'7456','女',7,'13789546859','7-498',38,'杨山伯'),(24,'2202','女',7,'13548957689','7-856',41,'杨秀丽');/*Table structure for table `user` */DROPTABLEIFEXISTS`user`;CREATETABLE`user`(`user_id`int(11)NOTNULLAUTO_INCREMENT,`user_name`varchar(20)NOTNULL,`password`varchar(20)NOTNULL,`nature`char(2)NOTNULLCOMMENT'账号的性质,-1:系统管理员,0:宿舍管理员,1:学生',PRIMARYKEY(`user_id`))ENGINE=InnoDBAUTO_INCREMENT=48DEFAULTCHARSET=utf8;/*Data for the table `user` */insertinto`user`(`user_id`,`user_name`,`password`,`nature`)values(1,'admin','123456','-1'),(2,'lwg','123','0'),(3,'za','1234','1'),(4,'sul','123','0'),(5,'hu','1234','0'),(6,'vg','456','0'),(7,'io','9099','0'),(8,'tgiet','546456','0'),(9,'vbjkg','45648','0'),(10,'fjggij','45678','0'),(11,'ffgg','123456','0'),(12,'afg','789','0'),(13,'hiop','456','0'),(14,'gif','123456','0'),(15,'xb','456879','0'),(16,'nj','789','0'),(17,'zf','132','0'),(18,'fft','456','0'),(19,'zagi','123','1'),(20,'opo','123','1'),(21,'per','456','1'),(22,'ritj','789','1'),(23,'gigk','693','1'),(24,'ggee','789','1'),(25,'iotr','123','1'),(26,'ytu','456','1'),(27,'itreq','1234','1'),(28,'fjg','123','1'),(29,'fjeit','456','1'),(30,'fffeer','456','1'),(31,'fffeqqq','123','1'),(32,'qqe','123','1'),(33,'lfoeo','456','1'),(34,'firir','123','1'),(35,'ieoe','123','1'),(36,'fefef','456','1'),(37,'qee','123','1'),(38,'ffeg','123','1'),(39,'ree','123','1'),(40,'fig','1345656','1'),(41,'yly','123456','1'),(42,'ylyl','123','1'),(43,'lgl','123456','1'),(44,'glg','123456','1'),(45,'htu','123456','-1'),(46,'kkkk','123','-1'),(47,'op','123456','0');/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
,‘123’,‘1’),
(39,‘ree’,‘123’,‘1’),
(40,‘fig’,‘1345656’,‘1’),
(41,‘yly’,‘123456’,‘1’),
(42,‘ylyl’,‘123’,‘1’),
(43,‘lgl’,‘123456’,‘1’),
(44,‘glg’,‘123456’,‘1’),
(45,‘htu’,‘123456’,‘-1’),
(46,‘kkkk’,‘123’,‘-1’),
(47,‘op’,‘123456’,‘0’);
/*!40101 SET SQL_MODE=@OLD_SQL_MODE /;
/!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS /;
/!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS /;
/!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
版权归原作者 广深度优先 所有, 如有侵权,请联系我们删除。