基于JavaWeb技术实现宿舍管理系统

技术介绍

系统采用三层架构设计开发,页面是JSP技术、jQuery和EasyUI框架,数据库是mysql,数据层访问使用MyBatis框架。

运行环境

JDK1.8

tomcat8.5

MySQL5.7

功能介绍

系统角色分为系统管理员、宿舍管理员、学生。系统的主要功能有:登录功能、学生注册功能、宿舍管理员管理功能、学生管理功能、宿舍楼管理功能、缺勤记录管理功能、修改密码、退出系统。登录、修改密码和退出系统是所有用户都具有的,除了这些系统管理员还具有宿舍管理员管理功能、学生管理功能、宿舍管理功能和缺勤记录管理功能;宿舍管理员还具有学生管理功能、缺勤记录管理功能;学生还具有学生注册功能和缺勤记录查询功能。

登录功能

用户输入账号、密码,勾选账号类型进行登录。

image-20220629132621447

系统管理员模块

image-20220629132653751

宿舍管理员管理功能

对宿舍管理员查询、增加、修改、删除和条件搜索。

image-20220629135013202

学生管理

对学生信息进行查询、添加、修改、删除和条件搜索。

image-20220629132742103

宿舍楼管理

对宿舍楼信息进行查询、添加、修改、删除和条件搜索。

image-20220629135111715

缺勤记录管理

对缺勤记录进行查询、添加、修改、删除和条件搜索。

image-20220629132835943

宿舍管理员模块

image-20220629132857160

学生管理

对宿舍管理员所管理的那栋宿舍楼的学生信息进行查询、添加、修改、删除和条件搜索。

image-20220629132919668

缺勤记录管理

对宿舍管理员所管理的那栋宿舍楼的学生的缺勤记录信息进行查询、添加、修改、删除和条件搜索。

image-20220629135135405

学生模块

image-20220629133032372

缺勤记录功能

查询自己的缺勤记录。

image-20220629133059404

修改密码

用户输入旧密码、新密码和再次输入新密码,点击提交后,则修改密码成功,系统会清除登录信息,用户需重新登录。

image-20220629133124284

退出系统

用户点击退出系统后系统会清除用户此次登录信息退出系统。

实现

数据库的准备

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 */;
CREATE DATABASE /*!32312 IF NOT EXISTS*/`practical_training` /*!40100 DEFAULT CHARACTER SET utf8 */;

USE `practical_training`;

/*Table structure for table `absent` */

DROP TABLE IF EXISTS `absent`;

CREATE TABLE `absent` (
  `absent_id` int(11) NOT NULL AUTO_INCREMENT,
  `stu_id` int(11) NOT NULL,
  `remarks` text,
  `date` varchar(10) NOT NULL,
  PRIMARY KEY (`absent_id`),
  KEY `stu_id` (`stu_id`),
  CONSTRAINT `absent_ibfk_1` FOREIGN KEY (`stu_id`) REFERENCES `student` (`stu_id`)
) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=utf8;

/*Data for the table `absent` */

insert  into `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` */

DROP TABLE IF EXISTS `dormitory`;

CREATE TABLE `dormitory` (
  `dormitory_id` int(11) NOT NULL AUTO_INCREMENT,
  `dormitory_name` varchar(10) NOT NULL,
  `brief_introduction` text,
  PRIMARY KEY (`dormitory_id`)
) ENGINE=InnoDB AUTO_INCREMENT=19 DEFAULT CHARSET=utf8;

/*Data for the table `dormitory` */

insert  into `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` */

DROP TABLE IF EXISTS `houseparent`;

CREATE TABLE `houseparent` (
  `houseparent_id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(10) NOT NULL,
  `gender` char(2) NOT NULL,
  `phone` char(11) NOT NULL,
  `dormitory_id` int(11) DEFAULT NULL,
  `user_id` int(11) DEFAULT NULL,
  PRIMARY KEY (`houseparent_id`),
  KEY `dormitory_id` (`dormitory_id`),
  KEY `user_id` (`user_id`),
  CONSTRAINT `houseparent_ibfk_1` FOREIGN KEY (`dormitory_id`) REFERENCES `dormitory` (`dormitory_id`),
  CONSTRAINT `houseparent_ibfk_2` FOREIGN KEY (`user_id`) REFERENCES `user` (`user_id`)
) ENGINE=InnoDB AUTO_INCREMENT=17 DEFAULT CHARSET=utf8;

/*Data for the table `houseparent` */

insert  into `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` */

DROP TABLE IF EXISTS `student`;

CREATE TABLE `student` (
  `stu_id` int(11) NOT NULL AUTO_INCREMENT,
  `student_id` char(4) NOT NULL,
  `gender` char(2) NOT NULL,
  `dormitory_id` int(11) DEFAULT NULL,
  `phone` char(11) NOT NULL,
  `dorm_no` char(6) DEFAULT NULL,
  `user_id` int(11) DEFAULT NULL,
  `s_name` varchar(20) NOT NULL,
  PRIMARY KEY (`stu_id`,`student_id`),
  KEY `dormitory_id` (`dormitory_id`),
  KEY `user_id` (`user_id`),
  CONSTRAINT `student_ibfk_1` FOREIGN KEY (`dormitory_id`) REFERENCES `dormitory` (`dormitory_id`),
  CONSTRAINT `student_ibfk_3` FOREIGN KEY (`user_id`) REFERENCES `user` (`user_id`)
) ENGINE=InnoDB AUTO_INCREMENT=26 DEFAULT CHARSET=utf8;

/*Data for the table `student` */

insert  into `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` */

DROP TABLE IF EXISTS `user`;

CREATE TABLE `user` (
  `user_id` int(11) NOT NULL AUTO_INCREMENT,
  `user_name` varchar(20) NOT NULL,
  `password` varchar(20) NOT NULL,
  `nature` char(2) NOT NULL COMMENT '账号的性质,-1:系统管理员,0:宿舍管理员,1:学生',
  PRIMARY KEY (`user_id`)
) ENGINE=InnoDB AUTO_INCREMENT=48 DEFAULT CHARSET=utf8;

/*Data for the table `user` */

insert  into `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 */;


Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐