免費(fèi)分享一個粉絲做的畢業(yè)設(shè)計學(xué)生宿舍管理系統(tǒng)!
前段時間五一放假,有網(wǎng)友出錢 2000,讓我?guī)兔ψ鲆粋€ Java 學(xué)生宿舍管理系統(tǒng)。其實(shí)我前面已經(jīng)分享了一個基于 SSM 實(shí)現(xiàn)的學(xué)生宿舍管理系統(tǒng),可這位網(wǎng)友還未學(xué)過 SSM 框架,因此我又改了一個基于 Servlet + MySQL 實(shí)現(xiàn)的學(xué)生宿舍管理系統(tǒng),現(xiàn)在他已經(jīng)順利答辯通過,我分享一下這套源碼系統(tǒng)。
本系統(tǒng)使用到的技術(shù)有:mysql,tomcat,eclipse 或 myeclipse,servlet,c3p0 等。整體非常簡單,適合做畢業(yè)設(shè)計,大作業(yè)等程序設(shè)計。整個項(xiàng)目的主界面截圖如下:
Servlet實(shí)現(xiàn)的學(xué)生宿舍管理系統(tǒng)
本項(xiàng)目一種有 3 種角色。分別是:
超級管理員:超級管理員是權(quán)限最大的角色,擁有系統(tǒng)所有的權(quán)限。
宿舍管理員:權(quán)限,學(xué)生管理、宿舍管理、考勤管理、修改密碼。注意:宿舍管理員所管理的這幾個模塊,都是超級管理員給他指定權(quán)限范圍,他才能操作,比如:admin被分配了管理1號樓和2號樓,那么1、2號樓的宿舍他可以管理,添加的學(xué)生也只能安排在這兩個樓里面,考勤也只能操作屬于這兩個樓的。
學(xué)生角色:學(xué)生是權(quán)限最小的角色,僅有修改密碼、考勤管理權(quán)限(僅僅查詢)。
下面介紹幾張主要的表結(jié)構(gòu):
CREATE TABLE `user` (
`id` int(11) NOT NULL auto_increment COMMENT '主鍵',
`name` varchar(20) not NULL COMMENT '名字',
`password` varchar(20) not NULL COMMENT '密碼',
`no` varchar(20) default NULL COMMENT '賬號-學(xué)生一般用學(xué)號',
`dorm_no` varchar(20) default NULL COMMENT '宿舍編號',
`build_id` int(11) default NULL COMMENT '宿舍樓id',
`sex` varchar(20) default NULL COMMENT '性別',
`phone` varchar(20) default NULL COMMENT '電話',
`role_id` int(11) default NULL COMMENT '角色 0超級管理員,1管理員,2學(xué)生',
`creator` int(11) default NULL COMMENT '創(chuàng)建人id',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
上面的用戶表一共 10 個字段。下面是宿舍樓表,一共 4 個字段。
CREATE TABLE `build` (
`id` int(11) NOT NULL auto_increment COMMENT '主鍵',
`name` varchar(20) NOT NULL COMMENT '名字',
`remark` varchar(50) default NULL COMMENT '備注',
`isValid` varchar(4) default 'Y' COMMENT '是否有效,Y有效,其他無效',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
接下來是宿舍表,一共 5 個字段。
CREATE TABLE `dorm` (
`id` int(11) NOT NULL auto_increment COMMENT '主鍵',
`name` varchar(20) NOT NULL COMMENT '名字',
`remark` varchar(50) default NULL COMMENT '備注',
`build_id` int(11) default NULL COMMENT '宿舍樓id',
`max_num` int(11) default 0 COMMENT '最大人數(shù)',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
再接下來是宿舍樓與管理員關(guān)系表(用來指定 宿舍管理員所擁有的宿舍樓權(quán)限)。一共是 3 個字段。
//宿舍樓與管理員關(guān)系表
CREATE TABLE `manage_build_rel` (
`id` int(11) NOT NULL auto_increment COMMENT '主鍵',
`user_id` int(11) default NULL COMMENT '管理員id',
`build_id` int(11) default NULL COMMENT '宿舍樓id',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
然后是考勤表,一共是 5 個字段。
CREATE TABLE `record` (
`id` int(11) NOT NULL auto_increment COMMENT '主鍵',
`student_id` int(11) default NULL COMMENT '學(xué)生id',
`date` date default NULL COMMENT '考勤日期',
`record_type` varchar(2) default '1' COMMENT '考勤類型',
`remark` varchar(50) default NULL COMMENT '備注',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
最后是菜單表,一共是 7 個字段。
CREATE TABLE `menu` (
`id` int(11) NOT NULL,
`menuCode` varchar(8) default NULL COMMENT '菜單編碼',
`menuName` varchar(16) default NULL COMMENT '菜單名字',
`menuLevel` varchar(2) default NULL COMMENT '菜單級別',
`menuParentCode` varchar(8) default NULL COMMENT '菜單的父code',
`menuClick` varchar(16) default NULL COMMENT '點(diǎn)擊觸發(fā)的函數(shù)',
`menuRight` varchar(8) default NULL COMMENT '權(quán)限2表示學(xué)生,1表示管理員,0超級管理員,可以用逗號組合使用',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
最后插入菜單表和用戶表所需初始配置的初始數(shù)據(jù)腳本(用戶表只插入超級管理員的即可)。
INSERT INTO `menu` VALUES ('1', '001', '宿舍管理員管理', '1', null, 'adminManage', '0');
INSERT INTO `menu` VALUES ('2', '002', '學(xué)生管理', '1', null, 'studentManage', '0,1');
INSERT INTO `menu` VALUES ('3', '003', '宿舍樓管理', '1', null, 'buildManage', '0');
INSERT INTO `menu` VALUES ('4', '004', '宿舍管理', '1', null, 'dormManage', '0,1');
INSERT INTO `menu` VALUES ('5', '005', '考勤管理', '1', null, 'recordManage', '0,1,2');
INSERT INTO `menu` VALUES ('6', '006', '修改密碼', '1', null, 'modPwd', '0,1,2');
INSERT INTO `user` VALUES ('1', '超級管理員業(yè)余草', '123456', 'sa', null, null, '1', '123445', '0', null);
先插入菜單,再插入超級管理員用戶。這里密碼沒有加密,如有需要可以自己實(shí)現(xiàn)加密,或者加我微信:codedq,幫你實(shí)現(xiàn)!
接下來,我們簡單介紹一下各個菜單的功能。
首先是宿舍管理員管理,只有超級管理員才有的權(quán)限,可以增加宿舍管理員,并且分配宿舍樓,讓其對指定的宿舍樓有對應(yīng)的操作權(quán)限,也可以修改、刪除。

宿舍管理員管理
列表頁面具有分頁功能,下面是新增的頁面截圖。

新增宿舍管理員
再接下來就是學(xué)生管理頁面了,超級管理員和宿舍管理員均可以操作,區(qū)別是超級管理操作所有,而宿舍管理員只能查詢、維護(hù)自己所管理的宿舍樓里面的學(xué)生。

學(xué)生管理的增刪改查

添加學(xué)生頁面功能
再接下來是宿舍樓管理頁面,超過管理員才有的權(quán)限。同樣具有分頁功能,列表頁面都類似,只是查詢數(shù)據(jù)表不同。

宿舍樓管理頁面功能
添加,修改,刪除的維護(hù)頁面我就不截圖了。下面看宿舍管理頁面。超級管理員和宿舍管理員均可以操作,區(qū)別是超級管理操作所有,而宿舍管理員只能維護(hù)自己管理宿舍樓的房間。

宿舍管理維護(hù)頁面截圖
下面是考勤管理頁面,3個角色都有權(quán)限,但學(xué)生只有查詢權(quán)限,沒有維護(hù)權(quán)限。

簡單考勤管理系統(tǒng)頁面
新增考勤的頁面也很簡單,就是多了一個日期選擇框。

新增考勤
最后還有一個頁面是修改密碼的頁面。

具體的實(shí)現(xiàn)代碼我就不貼了,太多了,我這里分享一個鏈接:https://pan.baidu.com/s/1Kq3DEjtxyWRUHjhOJeiSTQ 提取碼:x7ba,如遇鏈接過期,請加我微信:codedq 免費(fèi)補(bǔ)充!
