引言:
上次寫了一個學生成績管理系統,有個老鐵說不會運行,我答應給他寫一個專案,并且附上運行的檔案,于是這幾天就利用摸魚時間、晚上休息時間、中午午休時間寫了這個宿舍管理系統,表的設計、代碼撰寫都是自己弄的,資料庫用mysql,web容器用 tomcat,開發工具用eclipse\myeclipse,java方面入口都是用servlet,資料庫連接用c3p0,總之都是用比較基礎的東西來寫的,簡單易懂,對于正在做畢業設計和剛入門時間不長的兄弟們來說,應該是比較好的學習代碼了,希望對大家有所幫助,
一張界面圖:

角色介紹
1.超級管理員
超級管理員是權限最大的角色,擁有系統所有的權限,
2.宿舍管理員
權限:學生管理、宿舍管理、考勤管理、修改密碼,
注意:宿舍管理員所管理的這幾個模塊,都是超級管理員給他指定權限范圍,他才能操作,比如:admin被分配了管理1號樓和2號樓,那么1、2號樓的宿舍他可以管理,添加的學生也只能安排在這兩個樓里面,考勤也只能操作屬于這兩個樓的,
3.學生
學生是權限最小的角色,僅有修改密碼、考勤管理權限(僅僅查詢),
表結構介紹
用戶表
//用戶表
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 '賬號-學生一般用學號',
`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學生',
`creator` int(11) default NULL COMMENT '創建人id',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
宿舍樓表
//宿舍樓
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;
宿舍樓與管理員關系表(用來指定 宿舍管理員所擁有的宿舍樓權限)
//宿舍樓與管理員關系表
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;
宿舍表
//宿舍
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 '最大人數',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
考勤表
// 考勤表
CREATE TABLE `record` (
`id` int(11) NOT NULL auto_increment COMMENT '主鍵',
`student_id` int(11) default NULL COMMENT '學生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;
功能選單表
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 '點擊觸發的函式',
`menuRight` varchar(8) default NULL COMMENT '權限2表示學生,1表示管理員,0超級管理員,可以用逗號組合使用',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
選單表和用戶表需初始配置的資料腳本(用戶表只插入超級管理員的即可)
INSERT INTO `menu` VALUES ('1', '001', '宿舍管理員管理', '1', null, 'adminManage', '0');
INSERT INTO `menu` VALUES ('2', '002', '學生管理', '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', '超級管理員1', '123456', 'sa', null, null, '1', '123445', '0', null);
系統模塊介紹
宿舍管理員管理
超級管理員才有的權限,可以增加宿舍管理員,并且分配宿舍樓,讓其對指定的宿舍樓有對應的操作權限,也可以修改、洗掉,


學生管理
超級管理員和宿舍管理員均可以操作,區別是超級管理操作所有,而宿舍管理員只能查詢、維護 自己所管理的宿舍樓里面的學生,


宿舍樓管理
超過管理員才有的權限

宿舍管理
超級管理員和宿舍管理員均可以操作,區別是超級管理操作所有,而宿舍管理員只能維護自己管理宿舍樓的房間,

考勤管理
3個角色都有權限,但學生只有查詢權限,沒有維護權限,


修改密碼

代碼的話是沒辦法講了,內容有點多,有興趣的自己去下載看看咯,
可能存在的問題
1.表設計可能不是特別完善、并且有些功能沒加,離校太久有點想不起來了,
2.難免會有些bug吧,不過也不是上線用的,參考學習的話我覺得是足夠了,
3.檔案我是不會寫的,哈哈,運行檔案寫一個吧,放到原始碼里面,
看到這里的大佬,動動發財的小手 點贊 + 回復 + 收藏 ,能關注一波就更好了,
原始碼下載
方式1:完整代碼下載、需少量積分
方式2:關注下方公眾號,回復 【 sushe 】 下載代碼

★ 更多原始碼
? 學生成績管理系統?
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/281768.html
標籤:java
