精彩专栏推荐订阅:在 下方专栏👇🏻👇🏻👇🏻👇🏻
💖🔥作者主页:计算机毕设木哥🔥 💖
一、项目介绍
1.1研究背景及意义
宿舍是广大学生们日常的学习与生活中的重要地点,也是促进广大学生思想素质教育及文明品格培养的一个重要阵地。因此,宿舍管理是高校学工管理工作中比较重要的一项,不仅可以作为体现学校管理水平高低的一个指标,在一定程度上也会直接或间接地影响着学校办学的水平和学生的综合素质。
近些年来,随着高校招生规模的不断发展壮大,学生的人数也在逐年地持续增加,高校的宿舍资源越来越紧张,宿舍管理的事务也日渐混乱和沉重,管理工作“难、繁、杂”的问题日益凸显。宿舍管理一直以来都是采用手工记录、纸质存档的账本式管理方式,这种工作模式在多年的使用下暴露出不少的问题:数据和文件积少成多,巨大的信息量使得查阅、统计某些信息时很不方便,造成管理上的困难;信息分散存储,无法有效共享,更新和维护困难,不同地方的信息可能不一致;信息的保密性差,不能保证学生的隐私等等。以上问题给宿管人员的工作带来了很大的不便,以致工作时容易出错,办事效率低,耗费人力资源,间接提高了管理成本。因此,传统的管理思想和经营模式早已不能适应当今高校的管理需要。随着计算机网络的普遍覆盖和移动互联网信息技术的普遍应用,借助信息化手段取代传统的管理模式势在必行。
1.2国外研究现状
目前,国外高校在宿舍管理上已经拥有了相当成熟的经验,这方面的技术也发展得比较成熟,拥有一套比较完善的信息化开发和研究框架[9]。欧美多数高校都建设有自己的宿舍管理系统,由专业的技术团队对本校的系统进行开发、升级和维护,采用的技术也比较与时俱进,许多新兴技术都得到了实施应用。比如生物特征识别技术的使用,其中最常见的为人脸识别技术,高校事先把学生的人脸信息录入到系统中[10],学生进出宿舍楼只需要站在机器前刷一下脸;也有部分高校采取另一种模式 ——指纹识别技术来进行身份认证,学生只需要在指纹识别器上按一下即可,整个过程几秒钟不到,方便快捷,有效地防止了校外人员乱入的现象。
1.3功能模块图
二、开发环境
- 开发语言:Java
- 数据库:MySQL
- 系统架构:B/S
- 后端:SpringBoot
- 前端:html
- 工具:IDEA或者Eclipse,JDK1.8,Maven
三、项目展示
登录页面:
管理员模块:
宿管模块:
四、代码展示
package dao;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.List;
import pojo.DorInfo;
public class DorInfoDao {
private final static String driverName = "com.mysql.cj.jdbc.Driver";
private final static String url = "jdbc:mysql://localhost:3306/dbdormitory?"
+ "user=root&password=root&useUnicode=true&characterEncoding=UTF-8"
+ "&serverTimezone=UTC&useSSL=false";
//读取其中一组
public static List<DorInfo> readOneList2(String name ,String value) {
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs=null;
List<DorInfo> list=new ArrayList<DorInfo>();
try {
Class.forName(driverName);
conn = DriverManager.getConnection(url);
ps = conn.prepareStatement("select * from dor_info where "+ name + " like ?");
ps.setString(1, "%"+value+"%");
rs = ps.executeQuery();
while(rs.next()) {
String dor_id=rs.getString("dor_id");
String dor_phone=rs.getString("dor_phone");
String resident_num=rs.getString("resident_num");
String occupied_num=rs.getString("occupied_num");
DorInfo dg=new DorInfo(dor_id,dor_phone,resident_num,occupied_num);
list.add(dg);
}
}catch(Exception e) {
e.printStackTrace();
}finally {
try {
if(rs!=null) {
rs.close();
}
if(ps!=null) {
ps.close();
}
if(conn!=null) {
conn.close();
}
}catch(SQLException e) {
e.printStackTrace();
}
}
return list;
}
//读取其中一组
public static List<DorInfo> readOneList(String name ,String value) {
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs=null;
List<DorInfo> list=new ArrayList<DorInfo>();
try {
Class.forName(driverName);
conn = DriverManager.getConnection(url);
ps = conn.prepareStatement("select * from dor_info where "+ name +" = " +value);
rs = ps.executeQuery();
while(rs.next()) {
String dor_id=rs.getString("dor_id");
String dor_phone=rs.getString("dor_phone");
String resident_num=rs.getString("resident_num");
String occupied_num=rs.getString("occupied_num");
DorInfo dg=new DorInfo(dor_id,dor_phone,resident_num,occupied_num);
list.add(dg);
}
}catch(Exception e) {
e.printStackTrace();
}finally {
try {
if(rs!=null) {
rs.close();
}
if(ps!=null) {
ps.close();
}
if(conn!=null) {
conn.close();
}
}catch(SQLException e) {
e.printStackTrace();
}
}
return list;
}
//读取
public static List<DorInfo> readList() {
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs=null;
List<DorInfo> list=new ArrayList<DorInfo>();
try {
Class.forName(driverName);
conn = DriverManager.getConnection(url);
ps = conn.prepareStatement("select * from dor_info");
rs = ps.executeQuery();
while(rs.next()) {
String dor_id=rs.getString("dor_id");
String dor_phone=rs.getString("dor_phone");
String resident_num=rs.getString("resident_num");
String occupied_num=rs.getString("occupied_num");
DorInfo dg=new DorInfo(dor_id,dor_phone,resident_num,occupied_num);
list.add(dg);
}
}catch(Exception e) {
e.printStackTrace();
}finally {
try {
if(rs!=null) {
rs.close();
}
if(ps!=null) {
ps.close();
}
if(conn!=null) {
conn.close();
}
}catch(SQLException e) {
e.printStackTrace();
}
}
return list;
}
// 添加
@SuppressWarnings("static-access")
public static void insert(String stu_id, String password, String name, String department) {
Connection conn = null;
PreparedStatement ps = null;
try {
Class.forName(driverName);
conn = DriverManager.getConnection(url);
ps = conn.prepareStatement("insert into stu_info values(?,?,?,?,?,?,?,?)");
ps.setString(1, stu_id);
ps.setString(2, password);
ps.setString(3, name);
ps.setString(4, name);
ps.executeUpdate();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (ps != null) {
ps.close();
}
if (conn != null) {
conn.close();
}
} catch (Exception e2) {
e2.printStackTrace();
}
}
}
//删除
public static void delete(String id){
Connection conn = null;
PreparedStatement ps = null;
try {
Class.forName(driverName);
conn = DriverManager.getConnection(url);
ps = conn.prepareStatement("delete from dor_info where stu_id=?");
ps.setString(1, id);
ps.executeUpdate();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (ps != null) {
ps.close();
}
if (conn != null) {
conn.close();
}
} catch (Exception e2) {
e2.printStackTrace();
}
}
}
public ResultSet Search(String sql, String str[]) {
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs=null;
try {
Class.forName(driverName);
conn = DriverManager.getConnection(url);
ps =conn.prepareStatement(sql);
if (str != null) {
for (int i = 0; i < str.length; i++) {
ps.setString(i + 1, str[i]);
}
}
rs = ps.executeQuery();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return rs;
}
public int AddU(String sql, String str[]) {
int a = 0;
Connection conn = null;
PreparedStatement ps = null;
try {
Class.forName(driverName);
conn = DriverManager.getConnection(url);
ps = conn.prepareStatement(sql);
if (str != null) {
for (int i = 0; i < str.length; i++) {
ps.setString(i + 1, str[i]);
}
}
a = ps.executeUpdate();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return a;
}
}