26 11 2020

系统功能大致描述:基于javaweb开发学生宿舍管理系统,servlet+jdbc+jsp+bootstrap+mysql开发,可用于java毕业设计和课程作业。该系统实现了学生管理、管理员管理、楼层管理、缺勤记录等功能,前端用bootstrap实现,界面布局美观大方,适合做毕业设计,数据库用的是mysql,导入sql文件就可以使用。

系统运行演示视频:有系统源码运行录制视频,购买源码后和视频效果一样。

系统运行视频演示

系统详细内容介绍
数据库字段说明:数据库使用sql文件存储,导入mysql就可以使用
t_admin(管理员信息)
字段名 类型 默认值 主外键 是否为空 注释
adminId int(11) null 主键 NO 管理员编号
userName varchar(20) null YES 管理员用户名
password varchar(20) null YES 管理员密码
name varchar(20) null YES 管理员姓名
sex varchar(10) null YES 管理员性别
tel varchar(20) null YES 管理员电话

t_dorm(宿舍信息)
字段名 类型 默认值 主外键 是否为空 注释
dormId int(11) null 主键 NO 宿舍ID
dormBuildId int(11) null YES 所属宿舍楼ID
dormName varchar(20) null YES 宿舍名称
dormType varchar(20) null YES 宿舍类型
dormNumber int(11) null YES 宿舍编号
dormTel varchar(20) null YES 宿舍电话

t_dormbuild(宿舍楼信息)
字段名 类型 默认值 主外键 是否为空 注释
dormBuildId int(11) null 主键 NO 宿舍楼ID
dormBuildName varchar(20) null YES 宿舍楼名称
dormBuildDetail varchar(50) null YES 宿舍楼介绍

t_dormmanager(管理员信息)
字段名 类型 默认值 主外键 是否为空 注释
dormManId int(11) null 主键 NO 宿舍管理员ID
userName varchar(20) null YES 宿舍管理员用户名
password varchar(20) null YES 宿舍管理员密码
dormBuildId int(11) null YES 所属宿舍楼ID
name varchar(20) null YES 宿舍管理员姓名
sex varchar(20) null YES 宿舍管理员性别
tel varchar(20) null YES 宿舍管理员电话

t_record()
字段名 类型 默认值 主外键 是否为空 注释
recordId int(11) null 主键 NO 记录ID
studentNumber varchar(20) null YES 学生学号
studentName varchar(30) null YES 学生姓名
dormBuildId int(11) null YES 宿舍楼ID
dormName varchar(11) null YES 宿舍名称
date date null YES 时间
detail varchar(50) null YES 详情

t_student(学生信息)
字段名 类型 默认值 主外键 是否为空 注释
studentId int(11) null 主键 NO 学生编号
stuNum varchar(20) null YES 学生学号
password varchar(20) null YES 学生密码
name varchar(20) null YES 学生姓名
dormBuildId int(11) null YES 所属宿舍ID
dormName varchar(11) null YES 宿舍名称
sex varchar(10) null YES 学生性别
tel varchar(15) null YES 学生电话

数据库字段说明

数据库字段说明
系统运行效果截图

宿舍管理系统登录

宿舍管理系统登录

管理员登录首页

管理员登录首页

管理员-缺勤记录管理

管理员-缺勤记录管理

管理员-修改密码

管理员-修改密码

管理员-宿舍管理员管理

管理员-宿舍管理员管理

管理员-宿舍管理员添加

管理员-宿舍管理员添加

管理员-宿舍管理员修改

管理员-宿舍管理员修改

管理员-宿舍楼管理

管理员-宿舍楼管理

管理员-宿舍楼添加

管理员-宿舍楼添加

管理员-学生添加

管理员-学生添加

管理员-学生信息查询搜索

管理员-学生信息查询搜索

管理员-学生信息修改

管理员-学生信息修改

宿舍管理员-登录首页

宿舍管理员-登录首页

宿舍管理员-管理的学生查看

宿舍管理员-管理的学生查看

宿舍管理员-缺勤记录查看

宿舍管理员-缺勤记录查看

宿舍管理员-添加学生缺勤记录

宿舍管理员-添加学生缺勤记录

学生-查看自己的缺勤记录

学生-查看自己的缺勤记录

学生-登录首页

学生-登录首页

学生-修改密码

学生-修改密码
源码目录结构截图展示

项目目录结构截图

项目目录结构截图

项目目录结构截图

项目目录结构截图
部分源码使用说明
dbUrl=jdbc:mysql://localhost:3306/javaweb_dorm?useUnicode=true&characterEncoding=UTF8
dbUserName=root
dbPassword=root
jdbcName=com.mysql.jdbc.Driver
pageSize=5
package com.lero.dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;

import com.lero.model.Admin;
import com.lero.model.DormManager;
import com.lero.model.Student;
//用户操作数据库
public class UserDao {

	public Admin Login(Connection con, Admin admin)throws Exception {
		Admin resultAdmin = null;
		String sql = "select * from t_admin where userName=? and password=?";
		PreparedStatement pstmt = con.prepareStatement(sql);
		pstmt.setString(1, admin.getUserName());
		pstmt.setString(2, admin.getPassword());
		ResultSet rs = pstmt.executeQuery();
		if(rs.next()) {
			resultAdmin = new Admin();
			resultAdmin.setAdminId(rs.getInt("adminId"));
			resultAdmin.setUserName(rs.getString("userName"));
			resultAdmin.setPassword(rs.getString("password"));
			resultAdmin.setName(rs.getString("name"));
			resultAdmin.setSex(rs.getString("sex"));
			resultAdmin.setTel(rs.getString("tel"));
		}
		return resultAdmin;
	}

	public DormManager Login(Connection con, DormManager dormManager)throws Exception {
		DormManager resultDormManager = null;
		String sql = "select * from t_dormmanager where userName=? and password=?";
		PreparedStatement pstmt = con.prepareStatement(sql);
		pstmt.setString(1, dormManager.getUserName());
		pstmt.setString(2, dormManager.getPassword());
		ResultSet rs = pstmt.executeQuery();
		if(rs.next()) {
			resultDormManager = new DormManager();
			resultDormManager.setDormManagerId(rs.getInt("dormManId"));
			resultDormManager.setUserName(rs.getString("userName"));
			resultDormManager.setPassword(rs.getString("password"));
			resultDormManager.setDormBuildId(rs.getInt("dormBuildId"));
			resultDormManager.setName(rs.getString("name"));
			resultDormManager.setSex(rs.getString("sex"));
			resultDormManager.setTel(rs.getString("tel"));
		}
		return resultDormManager;
	}

	public Student Login(Connection con, Student student)throws Exception {
		Student resultStudent = null;
		String sql = "select * from t_student where stuNum=? and password=?";
		PreparedStatement pstmt = con.prepareStatement(sql);
		pstmt.setString(1, student.getStuNumber());
		pstmt.setString(2, student.getPassword());
		ResultSet rs = pstmt.executeQuery();
		if(rs.next()) {
			resultStudent = new Student();
			resultStudent.setStudentId(rs.getInt("studentId"));
			resultStudent.setStuNumber(rs.getString("stuNum"));
			resultStudent.setPassword(rs.getString("password"));
			int dormBuildId = rs.getInt("dormBuildId");
			resultStudent.setDormBuildId(dormBuildId);
			resultStudent.setDormBuildName(DormBuildDao.dormBuildName(con, dormBuildId));
			resultStudent.setDormName(rs.getString("dormName"));
			resultStudent.setName(rs.getString("name"));
			resultStudent.setSex(rs.getString("sex"));
			resultStudent.setTel(rs.getString("tel"));
		}
		return resultStudent;
	}

	public int adminUpdate(Connection con, int adminId, String password)throws Exception {
		String sql = "update t_admin set password=? where adminId=?";
		PreparedStatement pstmt = con.prepareStatement(sql);
		pstmt.setString(1, password);
		pstmt.setInt(2, adminId);
		return pstmt.executeUpdate();
	}

	public int managerUpdate(Connection con, int managerId, String password)throws Exception {
		String sql = "update t_dormmanager set password=? where dormManId=?";
		PreparedStatement pstmt = con.prepareStatement(sql);
		pstmt.setString(1, password);
		pstmt.setInt(2, managerId);
		return pstmt.executeUpdate();
	}

	public int studentUpdate(Connection con, int studentId, String password)throws Exception {
		String sql = "update t_student set password=? where studentId=?";
		PreparedStatement pstmt = con.prepareStatement(sql);
		pstmt.setString(1, password);
		pstmt.setInt(2, studentId);
		return pstmt.executeUpdate();
	}

}

数据库创建表语句

DROP TABLE IF EXISTS `t_admin`;
CREATE TABLE `t_admin`  (
  `adminId` int(11) NOT NULL AUTO_INCREMENT COMMENT '管理员编号',
  `userName` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '管理员用户名',
  `password` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '管理员密码',
  `name` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '管理员姓名',
  `sex` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '管理员性别',
  `tel` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '管理员电话',
  PRIMARY KEY (`adminId`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '管理员信息' ROW_FORMAT = Compact;

-- ----------------------------
-- Records of t_admin
-- ----------------------------
INSERT INTO `t_admin` VALUES (1, 'admin', '123456', '天明', '男', '123');

-- ----------------------------
-- Table structure for t_dorm
-- ----------------------------
DROP TABLE IF EXISTS `t_dorm`;
CREATE TABLE `t_dorm`  (
  `dormId` int(11) NOT NULL AUTO_INCREMENT COMMENT '宿舍ID',
  `dormBuildId` int(11) NULL DEFAULT NULL COMMENT '所属宿舍楼ID',
  `dormName` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '宿舍名称',
  `dormType` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '宿舍类型',
  `dormNumber` int(11) NULL DEFAULT NULL COMMENT '宿舍编号',
  `dormTel` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '宿舍电话',
  PRIMARY KEY (`dormId`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '宿舍信息' ROW_FORMAT = Compact;

-- ----------------------------
-- Records of t_dorm
-- ----------------------------
INSERT INTO `t_dorm` VALUES (1, 1, '220', '男', 6, '110');

-- ----------------------------
-- Table structure for t_dormbuild
-- ----------------------------
DROP TABLE IF EXISTS `t_dormbuild`;
CREATE TABLE `t_dormbuild`  (
  `dormBuildId` int(11) NOT NULL AUTO_INCREMENT COMMENT '宿舍楼ID',
  `dormBuildName` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '宿舍楼名称',
  `dormBuildDetail` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '宿舍楼介绍',
  PRIMARY KEY (`dormBuildId`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 9 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '宿舍楼信息' ROW_FORMAT = Compact;

-- ----------------------------
-- Records of t_dormbuild
-- ----------------------------
INSERT INTO `t_dormbuild` VALUES (1, '1栋', '这是一栋。。。');
INSERT INTO `t_dormbuild` VALUES (4, '2栋', '这是2栋');
INSERT INTO `t_dormbuild` VALUES (5, '3栋', '这是3栋');
INSERT INTO `t_dormbuild` VALUES (6, '4栋', '这是4栋');
INSERT INTO `t_dormbuild` VALUES (7, '5栋', '这是5栋喔');
INSERT INTO `t_dormbuild` VALUES (8, '6栋', '这是6栋喔');

-- ----------------------------
-- Table structure for t_dormmanager
-- ----------------------------
DROP TABLE IF EXISTS `t_dormmanager`;
CREATE TABLE `t_dormmanager`  (
  `dormManId` int(11) NOT NULL AUTO_INCREMENT COMMENT '宿舍管理员ID',
  `userName` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '宿舍管理员用户名',
  `password` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '宿舍管理员密码',
  `dormBuildId` int(11) NULL DEFAULT NULL COMMENT '所属宿舍楼ID',
  `name` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '宿舍管理员姓名',
  `sex` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '宿舍管理员性别',
  `tel` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '宿舍管理员电话',
  PRIMARY KEY (`dormManId`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 10 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '管理员信息' ROW_FORMAT = Compact;

-- ----------------------------
-- Records of t_dormmanager
-- ----------------------------
INSERT INTO `t_dormmanager` VALUES (2, 'manager2', '123456', 4, '小张', '男', '123');
INSERT INTO `t_dormmanager` VALUES (3, 'manager3', '123456', 1, '小李', '女', '123');
INSERT INTO `t_dormmanager` VALUES (4, 'manager4', '123456', 5, '小陈', '男', '123');
INSERT INTO `t_dormmanager` VALUES (5, 'manager5', '123456', NULL, '小宋', '男', '123');
INSERT INTO `t_dormmanager` VALUES (7, 'manager6', '123456', NULL, '呵呵 ', '女', '123');
INSERT INTO `t_dormmanager` VALUES (8, 'manager1', '123456', 6, '小白', '男', '123');
INSERT INTO `t_dormmanager` VALUES (9, 'manager7', '123456', 7, '哈哈', '女', '123');

-- ----------------------------
-- Table structure for t_record
-- ----------------------------
DROP TABLE IF EXISTS `t_record`;
CREATE TABLE `t_record`  (
  `recordId` int(11) NOT NULL AUTO_INCREMENT COMMENT '记录ID',
  `studentNumber` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '学生学号',
  `studentName` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '学生姓名',
  `dormBuildId` int(11) NULL DEFAULT NULL COMMENT '宿舍楼ID',
  `dormName` varchar(11) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '宿舍名称',
  `date` date NULL DEFAULT NULL COMMENT '时间',
  `detail` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '详情',
  PRIMARY KEY (`recordId`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 8 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact;

-- ----------------------------
-- Records of t_record
-- ----------------------------
INSERT INTO `t_record` VALUES (1, '002', '李四', 4, '120', '2014-01-01', '123');
INSERT INTO `t_record` VALUES (3, '007', '测试1', 1, '221', '2014-08-11', '123');
INSERT INTO `t_record` VALUES (4, '005', '赵起', 4, '220', '2014-08-12', '...');
INSERT INTO `t_record` VALUES (5, '006', '王珂珂', 4, '111', '2014-08-12', '00');
INSERT INTO `t_record` VALUES (6, '004', '李进', 6, '220', '2014-08-12', '....');
INSERT INTO `t_record` VALUES (7, '004', '李进', 6, '220', '2014-08-12', '22');

-- ----------------------------
-- Table structure for t_student
-- ----------------------------
DROP TABLE IF EXISTS `t_student`;
CREATE TABLE `t_student`  (
  `studentId` int(11) NOT NULL AUTO_INCREMENT COMMENT '学生编号',
  `stuNum` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '学生学号',
  `password` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '学生密码',
  `name` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '学生姓名',
  `dormBuildId` int(11) NULL DEFAULT NULL COMMENT '所属宿舍ID',
  `dormName` varchar(11) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '宿舍名称',
  `sex` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '学生性别',
  `tel` varchar(15) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '学生电话',
  PRIMARY KEY (`studentId`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 32 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '学生信息' ROW_FORMAT = Compact;

-- ----------------------------
-- Records of t_student
-- ----------------------------
INSERT INTO `t_student` VALUES (2, '002', '123456', '李四', 4, '120', '男', '32');
INSERT INTO `t_student` VALUES (3, '003', '123456', '王五', 5, '201', '男', '2');
INSERT INTO `t_student` VALUES (4, '004', '123456', '李进', 6, '220', '女', '1');
INSERT INTO `t_student` VALUES (5, '005', '123456', '赵起', 4, '220', '女', '123');
INSERT INTO `t_student` VALUES (6, '006', '123456', '王珂珂', 4, '111', '女', '111');
INSERT INTO `t_student` VALUES (9, '007', '123456', '测试1', 1, '221', '男', '123');
INSERT INTO `t_student` VALUES (28, '001', '123456', '测试1', 1, '111', '男', '123');
INSERT INTO `t_student` VALUES (29, '008', '123456', '测试3', 6, '123', '男', '123');
INSERT INTO `t_student` VALUES (30, '009', '123456', '测试4', 5, '123', '男', '123');
INSERT INTO `t_student` VALUES (31, '010', '123456', '小强', 4, '222', '男', '111');

SET FOREIGN_KEY_CHECKS = 1;

项目使用简单说明

基于javaweb开发学生宿舍管理系统,servlet+jdbc+jsp+bootstrap+mysql开发,可用于java毕业设计和课程作业

该系统实现了学生管理、管理员管理、楼层管理、缺勤记录等功能,前端用bootstrap实现,界面布局美观大方,

适合做毕业设计,数据库用的是mysql,导入sql文件就可以使用。


系统共分为三种角色:系统管理员 宿舍管理员 学生

系统管理员:拥有所有操作权限,包括宿舍信息管理,宿舍楼信息管理,学生信息管理,缺勤记录管理,修改登录密码。

宿舍管理员:只能管理自己分配的宿舍楼中宿舍信息,和入住该宿舍楼的学生信息,入住学生缺勤记录等。

学生:能够登录,并查看自己的缺勤记录,修改登录密码等。



数据库sql文件使用方法:

在mysql中新建一个名为javaweb_dorm的数据库,然后选择该数据库,导入javaweb_dorm.sql文件内容即可      

数据库配置信息修改:dorm.properties中修改mysql数据库密码为自己电脑的密码即可

将项目导入eclipse,然后使用tomcat运行项目就可以访问。




系统测试账号:

系统管理员:admin      123456 

宿舍管理员:manager2   123456

学生账号:002   123456


发表评论