飞道的博客

java学生宿舍管理系统,来了就点个赞再走呗,即将毕业的兄弟有福了!

445人阅读  评论(0)

引言:

上次写了一个学生成绩管理系统,有个老铁说不会运行,我答应给他写一个项目,并且附上运行的文档,于是这几天就利用摸鱼时间、晚上休息时间、中午午休时间写了这个宿舍管理系统,表的设计、代码编写都是自己弄的,数据库用mysql,web容器用 tomcat,开发工具用eclipse\myeclipse,java方面入口都是用servlet,数据库连接用c3p0,总之都是用比较基础的东西来写的,简单易懂,对于正在做毕业设计和刚入门时间不长的兄弟们来说,应该是比较好的学习代码了,希望对大家有所帮助。

一张界面图:

角色介绍

1.超级管理员 

超级管理员是权限最大的角色,拥有系统所有的权限。

2.宿舍管理员

权限:学生管理、宿舍管理、考勤管理、修改密码。

注意:宿舍管理员所管理的这几个模块,都是超级管理员给他指定权限范围,他才能操作,比如:admin被分配了管理1号楼和2号楼,那么1、2号楼的宿舍他可以管理,添加的学生也只能安排在这两个楼里面,考勤也只能操作属于这两个楼的。

3.学生

学生是权限最小的角色,仅有修改密码、考勤管理权限(仅仅查询)。

 

表结构介绍

用户表


  
  1. //用户表
  2. CREATE TABLE `user` (
  3. `id` int( 11) NOT NULL auto_increment COMMENT '主键',
  4. `name` varchar( 20) not NULL COMMENT '名字',
  5. `password` varchar( 20) not NULL COMMENT '密码',
  6. `no` varchar( 20) default NULL COMMENT '账号-学生一般用学号',
  7. `dorm_no` varchar( 20) default NULL COMMENT '宿舍编号',
  8. `build_id` int( 11) default NULL COMMENT '宿舍楼id',
  9. `sex` varchar( 20) default NULL COMMENT '性别',
  10. `phone` varchar( 20) default NULL COMMENT '电话',
  11. `role_id` int( 11) default NULL COMMENT '角色 0超级管理员,1管理员,2学生',
  12. `creator` int( 11) default NULL COMMENT '创建人id',
  13. PRIMARY KEY ( `id`)
  14. ) ENGINE= InnoDB DEFAULT CHARSET=utf8;

宿舍楼表


  
  1. //宿舍楼
  2. CREATE TABLE `build` (
  3. `id` int( 11) NOT NULL auto_increment COMMENT '主键',
  4. `name` varchar( 20) NOT NULL COMMENT '名字',
  5. `remark` varchar( 50) default NULL COMMENT '备注',
  6. `isValid` varchar( 4) default 'Y' COMMENT '是否有效,Y有效,其他无效',
  7. PRIMARY KEY ( `id`)
  8. ) ENGINE= InnoDB DEFAULT CHARSET=utf8;

宿舍楼与管理员关系表(用来指定 宿舍管理员所拥有的宿舍楼权限)


  
  1. //宿舍楼与管理员关系表
  2. CREATE TABLE `manage_build_rel` (
  3. `id` int( 11) NOT NULL auto_increment COMMENT '主键',
  4. `user_id` int( 11) default NULL COMMENT '管理员id',
  5. `build_id` int( 11) default NULL COMMENT '宿舍楼id',
  6. PRIMARY KEY ( `id`)
  7. ) ENGINE= InnoDB DEFAULT CHARSET=utf8;

宿舍表


  
  1. //宿舍
  2. CREATE TABLE `dorm` (
  3. `id` int( 11) NOT NULL auto_increment COMMENT '主键',
  4. `name` varchar( 20) NOT NULL COMMENT '名字',
  5. `remark` varchar( 50) default NULL COMMENT '备注',
  6. `build_id` int( 11) default NULL COMMENT '宿舍楼id',
  7. `max_num` int( 11) default 0 COMMENT '最大人数',
  8. PRIMARY KEY ( `id`)
  9. ) ENGINE= InnoDB DEFAULT CHARSET=utf8;

考勤表


  
  1. // 考勤表
  2. CREATE TABLE `record` (
  3. `id` int( 11) NOT NULL auto_increment COMMENT '主键',
  4. `student_id` int( 11) default NULL COMMENT '学生id',
  5. `date` date default NULL COMMENT '考勤日期',
  6. `record_type` varchar( 2) default '1' COMMENT '考勤类型',
  7. `remark` varchar( 50) default NULL COMMENT '备注',
  8. PRIMARY KEY ( `id`)
  9. ) ENGINE= InnoDB DEFAULT CHARSET=utf8;

功能菜单表


  
  1. CREATE TABLE `menu` (
  2. `id` int( 11) NOT NULL,
  3. `menuCode` varchar( 8) default NULL COMMENT '菜单编码',
  4. `menuName` varchar( 16) default NULL COMMENT '菜单名字',
  5. `menuLevel` varchar( 2) default NULL COMMENT '菜单级别',
  6. `menuParentCode` varchar( 8) default NULL COMMENT '菜单的父code',
  7. `menuClick` varchar( 16) default NULL COMMENT '点击触发的函数',
  8. `menuRight` varchar( 8) default NULL COMMENT '权限2表示学生,1表示管理员,0超级管理员,可以用逗号组合使用',
  9. PRIMARY KEY ( `id`)
  10. ) ENGINE= InnoDB DEFAULT CHARSET=utf8;

菜单表和用户表需初始配置的数据脚本(用户表只插入超级管理员的即可)


  
  1. INSERT INTO `menu` VALUES ( '1', '001', '宿舍管理员管理', '1', null, 'adminManage', '0');
  2. INSERT INTO `menu` VALUES ( '2', '002', '学生管理', '1', null, 'studentManage', '0,1');
  3. INSERT INTO `menu` VALUES ( '3', '003', '宿舍楼管理', '1', null, 'buildManage', '0');
  4. INSERT INTO `menu` VALUES ( '4', '004', '宿舍管理', '1', null, 'dormManage', '0,1');
  5. INSERT INTO `menu` VALUES ( '5', '005', '考勤管理', '1', null, 'recordManage', '0,1,2');
  6. INSERT INTO `menu` VALUES ( '6', '006', '修改密码', '1', null, 'modPwd', '0,1,2');
  7. INSERT INTO `user` VALUES ( '1', '超级管理员1', '123456', 'sa', null, null, '1', '123445', '0', null);

 

系统模块介绍

宿舍管理员管理

超级管理员才有的权限,可以增加宿舍管理员,并且分配宿舍楼,让其对指定的宿舍楼有对应的操作权限,也可以修改、删除。

学生管理

超级管理员和宿舍管理员均可以操作,区别是超级管理操作所有,而宿舍管理员只能查询、维护 自己所管理的宿舍楼里面的学生。

宿舍楼管理

超过管理员才有的权限

宿舍管理

超级管理员和宿舍管理员均可以操作,区别是超级管理操作所有,而宿舍管理员只能维护自己管理宿舍楼的房间。

考勤管理

3个角色都有权限,但学生只有查询权限,没有维护权限。

修改密码

代码的话是没办法讲了,内容有点多,有兴趣的自己去下载看看咯。

可能存在的问题

1.表设计可能不是特别完善、并且有些功能没加,离校太久有点想不起来了。

2.难免会有些bug吧,不过也不是上线用的,参考学习的话我觉得是足够了。

3.文档我是不会写的,哈哈,运行文档写一个吧,放到源码里面。

 

看到这里的大佬,动动发财的小手 点赞 + 回复 + 收藏 ,能关注一波就更好了。

源码下载

方式1:完整代码下载、需少量积分

方式2:关注下方公众号,回复 【 sushe 】 下载代码

 更多源码

♥ 学生成绩管理系统


转载:https://blog.csdn.net/dkm123456/article/details/116272578
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场