当前位置 博文首页 > 搬砖小菜~的博客:Java+SQL server 学生宿舍管理系统 数据库课程
此次课程设计的题目是学生宿舍管理系统
数据库用的是SQL server;IDE用的是eclipse
为了便于对学生宿舍生活的管理,学生资料的管理,和快节奏、高效率的工作环境。我本次设计的课题是学生宿舍管理系统。
开发目的和意义:
A.管理学生宿舍信息达到安全、高效、方便效果
B.迅速查到所需学生、楼栋、宿舍、宿舍物品、宿舍维修等信息
C.学生宿舍管理系统便于管理人员办事效率越来越高
系统的作用:
A.要求用户必须输入正确的用户名和密码才可以进入系统
B.提供学生住宿情况、楼栋、宿舍、宿舍物品、宿舍维修的基本登记
C.可对上述的宿舍相关信息进行增删查改并统计
基本功能
A.宿舍信息维护:对宿舍信息进行添加、修改、删除,具体宿舍信息包括:宿舍编号、宿舍电话、应住人数、录入日期等信息;
B.宿舍信息查询:根据楼号、宿舍编号进行查询。具体包括:宿舍编号、应住人数、实住人数、空位数、宿舍电话、录入日期等信息;
C.宿舍信息统计:对楼号、房间数、应住人数、实住人数、空位数等进行统计并输出。
本宿舍管理系统通过管理员登录系统后,进行对学生信息、楼栋信息、宿舍信息、物品信息、维修信息,基本信息等进行管理(如图所示)
(分析系统中有哪些实体,实体之间存在怎样的联系,用文字描述,并绘制实体图和整体E-R图)
答:实体为楼栋、宿舍、学生、宿舍物品
楼栋实体图
(分析系统中有哪些实体,实体之间存在怎样的联系,用文字描述,并绘制实体图和整体E-R图)
答:实体为楼栋、宿舍、学生、宿舍物品
楼栋实体图
宿舍实体图
学生实体图
宿舍物品实体图
整体E-R图
dbo.LgTbl
create table LgTbl
(
usrName char(10),
usrPwd char(10)
)
dbo.Build
create table Build
(
Bno char(4) primary key not null, --楼号-学3
Bfloors_sum char(4) , --楼层数-6层
Broom_sum char(4) , --宿舍数-30间
Build_men int , --总人数-1066人
build_sex char(6) , --男/女宿舍-男生宿舍
inputtime char(11) --2021-02-01
)
dbo.Room
create table Room
(
Bno char(4) not null, --楼号 -A
Rno char(6) not null , --宿舍号 -606
Rymen int , --宿舍几人间 -6人间
Rphone char(11), --宿舍电话- 13672355529
inputtime char(11) , --2021-02-01
primary key(Rno,Bno),
foreign key(Bno) references Build(Bno),
)
dbo.Student
create table Student
(
Sno char(12) primary key not null, --学号 -201955555500
Sname char(8) , --姓名-牛大春
Ssex char(2) , --性别 -男
Sdept char(10) , --专业 -自动化
Bno char(4) not null, --楼号 -学3
Rno char(6) not null , --宿舍号 -608
inputtime char(11) , --2021-02-01
foreign key(Bno) references Build(Bno),
)
dbo.Goods
create table Goods
(
Pno char(3) primary key, --物品号
Pname char(10) --物品名称
)
dbo.Repair
create table Repair
(
Bno char(4) not null,
Rno char(6) not null ,
Pno char(3) not null,
Rsubmit char(10), --提交日期
Rsolove char(10), --解决日期
Rreason char(20), --维修原因
primary key(Bno,Rno,Pno),
foreign key(Bno) references Build(Bno),
foreign key(Pno) references Goods(Pno),
)
主要功能界面
管理员登录
查询所有学生的宿舍信息
查询所有楼栋信息
统计各楼栋宿舍的实住人数及应住人数
统计各楼栋的宿舍总数及实住宿舍及实住人数及应住人数
此处不再一一截出来了
JDBCUnit.java
package room_system;
import java.security.PublicKey;
import java.sql.*;
public class JDBCUnit {
/* 驱动,定义连接数据库类型:SQL SERVER2012*/
private static String driverName="com.microsoft.sqlserver.jdbc.SQLServerDriver";//驱动:com.microsoft.sqlserver.jdbc.SQLServerDriver
public static String SerName; //服务器名字:127.0.0.1
public static String Dbname; //数据库名:room_system
public static String userName; //用户名:sa
public static String userPwd; //密码:123456
public static Connection getConnection(){
String dbURL="jdbc:sqlserver://127.0.0.1:1433;DatabaseName=room_system";
Connection conn = null;
try {
//1.注册驱动
Class.forName(driverName);
//2.建立连接
conn = DriverManager.getConnection(dbURL, "sa", "123456");
} catch (Exception e) {
e.printStackTrace();
}
return conn;
}
/**
* 使用statement对象执行DML语句
*/
public static void stmt_DML(String sql) {
Connection conn = null;
Statement stmt = null;
try {
conn = getConnection();
//1.创建Statement对象
stmt = conn.createStatement();
//2.执行sql语句
stmt.execute(sql);
//3.关闭资源
stmt.close(); //关闭数据执行结果集合
conn.close(); //关闭数据库连接
}
catch (Exception e) {
e.printStackTrace();
}
}
/**
* 使用PreparedStatement执行SQL语句
*/
public static void ps_DML(String sql,ResultSet rs) {
try
{
Connection conn = getConnection();
PreparedStatement ps = conn.prepareStatement(sql);
//4.操作结果集
rs=ps.executeQuery();
//5.关闭资源
ps.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
/**
* 判断登录用户是否存在
*/
public static boolean login_flag(String usrName,String usrPwd) {
String sql= "select * from LgTbl where usrName="+"'"+usrName+"'"+" and usrPwd= "+"'"+usrPwd+"'";
boolean flag=false;
try
{
Connection conn = getConnection();
PreparedStatement ps = conn.prepareStatement(sql);
ResultSet rs = ps.executeQuery();
if(rs.next()) {
flag = true;
}
else {
flag = false;
}
rs.close();
ps.close();
conn.close();
} catch (Exception e)
{
e.printStackTrace();
}
return flag;
}
/**
* 判断查询输入学号Sno结果是否为空
*/
public static boolean select_flag(String Sno) {
String sql= "select Sno from Student where Sno=ltrim(rtrim("+"'"+Sno+"'))";
boolean flag