校园宿舍管理系统swing+jdbc+Java实现
时间: 2023-06-14 18:08:26 浏览: 219
校园宿舍管理系统是一个非常典型的信息管理系统,主要用于管理学生宿舍信息、学生信息以及宿舍设备等。下面是一个简单的实现思路:
1. 数据库设计
首先需要设计数据库,包括宿舍表、学生表、设备表等。其中,宿舍表包括宿舍编号、宿舍类型、宿舍楼号、宿舍电话等信息;学生表包括学生编号、学生姓名、学生性别、学生电话、所属宿舍等信息;设备表包括设备编号、设备名称、设备型号、设备数量、所属宿舍等信息。
2. 界面设计
使用Java的Swing框架进行界面设计,主要包括登录界面、主界面、宿舍信息界面、学生信息界面、设备信息界面等。可以使用JFrame、JPanel等组件进行布局。
3. 数据库连接
使用JDBC连接数据库,将数据库中的宿舍信息、学生信息、设备信息读取到程序中,显示在对应的界面中。同时,可以在程序中对数据库进行增、删、改、查等操作。
4. 功能实现
根据需求,实现对宿舍信息、学生信息、设备信息的增加、删除、修改、查询等功能。同时,还可以实现一些其他的功能,比如统计宿舍设备数量、查询某个学生所在的宿舍等。
5. 安全性设计
在程序中添加一些安全性措施,比如登录时进行身份验证、对数据库进行加密等。
以上是一个简单的校园宿舍管理系统的实现思路,具体实现细节需要根据需求进行调整。
相关问题
请写一个程序代码实现校园宿舍管理系统swing+jdbc+Java实现
下面是一个简单的校园宿舍管理系统的实现示例,使用Swing进行界面设计,使用JDBC进行数据库操作,使用Java进行编写。
首先,需要创建一个MySQL数据库,并创建一个名为“dormitory”的表,其中包括以下列:id(int)、name(varchar)、gender(varchar)、tel(varchar)、room(varchar)、bed(varchar)。
接下来,创建一个Java项目,并在项目中添加以下依赖项:
- MySQL JDBC驱动程序
- Swing库
接下来,创建一个GUI窗体,其中包括以下组件:
- 一个标签,用于显示学生姓名
- 一个文本框,用于输入学生姓名
- 一个标签,用于显示学生性别
- 一个文本框,用于输入学生性别
- 一个标签,用于显示学生电话号码
- 一个文本框,用于输入学生电话号码
- 一个标签,用于显示学生寝室号
- 一个文本框,用于输入学生寝室号
- 一个标签,用于显示学生床位号
- 一个文本框,用于输入学生床位号
- 一个“添加”按钮,用于向数据库中添加学生信息
- 一个“查询”按钮,用于从数据库中查询学生信息
- 一个“更新”按钮,用于更新数据库中的学生信息
- 一个“删除”按钮,用于从数据库中删除学生信息
下面是一个示例代码:
```java
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
public class DormitoryManagementSystem extends JFrame {
private JLabel nameLabel, genderLabel, telLabel, roomLabel, bedLabel;
private JTextField nameField, genderField, telField, roomField, bedField;
private JButton addButton, searchButton, updateButton, deleteButton;
private Connection conn;
public DormitoryManagementSystem() {
initUI();
initConnection();
}
private void initUI() {
setTitle("校园宿舍管理系统");
setSize(400, 300);
setLocationRelativeTo(null);
setDefaultCloseOperation(EXIT_ON_CLOSE);
// 创建标签和文本框
nameLabel = new JLabel("姓名");
nameField = new JTextField(20);
genderLabel = new JLabel("性别");
genderField = new JTextField(20);
telLabel = new JLabel("电话");
telField = new JTextField(20);
roomLabel = new JLabel("寝室号");
roomField = new JTextField(20);
bedLabel = new JLabel("床位号");
bedField = new JTextField(20);
// 创建按钮
addButton = new JButton("添加");
addButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
addStudent();
}
});
searchButton = new JButton("查询");
searchButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
searchStudent();
}
});
updateButton = new JButton("更新");
updateButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
updateStudent();
}
});
deleteButton = new JButton("删除");
deleteButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
deleteStudent();
}
});
// 创建面板
JPanel panel = new JPanel(new GridLayout(5, 2));
panel.add(nameLabel);
panel.add(nameField);
panel.add(genderLabel);
panel.add(genderField);
panel.add(telLabel);
panel.add(telField);
panel.add(roomLabel);
panel.add(roomField);
panel.add(bedLabel);
panel.add(bedField);
// 创建按钮面板
JPanel buttonPanel = new JPanel(new FlowLayout(FlowLayout.CENTER));
buttonPanel.add(addButton);
buttonPanel.add(searchButton);
buttonPanel.add(updateButton);
buttonPanel.add(deleteButton);
// 将面板添加到窗体中
setLayout(new BorderLayout());
add(panel, BorderLayout.CENTER);
add(buttonPanel, BorderLayout.SOUTH);
}
private void initConnection() {
try {
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost:3306/dormitory";
String user = "root";
String password = "password";
conn = DriverManager.getConnection(url, user, password);
} catch (ClassNotFoundException | SQLException e) {
e.printStackTrace();
}
}
private void addStudent() {
String name = nameField.getText();
String gender = genderField.getText();
String tel = telField.getText();
String room = roomField.getText();
String bed = bedField.getText();
try {
PreparedStatement stmt = conn.prepareStatement("INSERT INTO students (name, gender, tel, room, bed) VALUES (?, ?, ?, ?, ?)");
stmt.setString(1, name);
stmt.setString(2, gender);
stmt.setString(3, tel);
stmt.setString(4, room);
stmt.setString(5, bed);
int rows = stmt.executeUpdate();
if (rows > 0) {
JOptionPane.showMessageDialog(this, "添加成功");
} else {
JOptionPane.showMessageDialog(this, "添加失败");
}
} catch (SQLException e) {
e.printStackTrace();
}
}
private void searchStudent() {
String name = nameField.getText();
try {
PreparedStatement stmt = conn.prepareStatement("SELECT * FROM students WHERE name = ?");
stmt.setString(1, name);
ResultSet rs = stmt.executeQuery();
if (rs.next()) {
genderField.setText(rs.getString("gender"));
telField.setText(rs.getString("tel"));
roomField.setText(rs.getString("room"));
bedField.setText(rs.getString("bed"));
} else {
JOptionPane.showMessageDialog(this, "未找到该学生");
}
} catch (SQLException e) {
e.printStackTrace();
}
}
private void updateStudent() {
String name = nameField.getText();
String gender = genderField.getText();
String tel = telField.getText();
String room = roomField.getText();
String bed = bedField.getText();
try {
PreparedStatement stmt = conn.prepareStatement("UPDATE students SET gender = ?, tel = ?, room = ?, bed = ? WHERE name = ?");
stmt.setString(1, gender);
stmt.setString(2, tel);
stmt.setString(3, room);
stmt.setString(4, bed);
stmt.setString(5, name);
int rows = stmt.executeUpdate();
if (rows > 0) {
JOptionPane.showMessageDialog(this, "更新成功");
} else {
JOptionPane.showMessageDialog(this, "更新失败");
}
} catch (SQLException e) {
e.printStackTrace();
}
}
private void deleteStudent() {
String name = nameField.getText();
try {
PreparedStatement stmt = conn.prepareStatement("DELETE FROM students WHERE name = ?");
stmt.setString(1, name);
int rows = stmt.executeUpdate();
if (rows > 0) {
JOptionPane.showMessageDialog(this, "删除成功");
} else {
JOptionPane.showMessageDialog(this, "删除失败");
}
} catch (SQLException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
DormitoryManagementSystem system = new DormitoryManagementSystem();
system.setVisible(true);
}
}
```
该程序使用JDBC连接到MySQL数据库,并提供添加、查询、更新和删除学生信息的功能。可以根据需要进行修改和扩展。
校园宿舍管理系统java+swing+jdbc代码
以下是一个简单的校园宿舍管理系统的Java代码,使用了Swing和JDBC库。请注意,这只是一个简单的示例代码,您需要根据自己的需求进行修改和完善。
```java
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
import javax.swing.*;
public class DormitoryManagementSystem extends JFrame implements ActionListener {
JLabel title, nameLabel, genderLabel, roomNoLabel, dateLabel;
JTextField nameField, roomNoField, dateField;
JComboBox genderBox;
JButton addBtn, viewBtn, clearBtn;
Connection conn = null;
PreparedStatement pst = null;
ResultSet rs = null;
public static void main(String[] args) {
new DormitoryManagementSystem();
}
public DormitoryManagementSystem() {
super("校园宿舍管理系统");
Container container = getContentPane();
container.setLayout(new GridLayout(6, 2));
title = new JLabel("宿舍管理系统", JLabel.CENTER);
nameLabel = new JLabel("姓名", JLabel.CENTER);
genderLabel = new JLabel("性别", JLabel.CENTER);
roomNoLabel = new JLabel("房间号", JLabel.CENTER);
dateLabel = new JLabel("入住日期(yyyy-mm-dd)", JLabel.CENTER);
nameField = new JTextField();
genderBox = new JComboBox(new String[] { "男", "女" });
roomNoField = new JTextField();
dateField = new JTextField();
addBtn = new JButton("添加");
viewBtn = new JButton("查看");
clearBtn = new JButton("清空");
addBtn.addActionListener(this);
viewBtn.addActionListener(this);
clearBtn.addActionListener(this);
container.add(title);
container.add(new JLabel());
container.add(nameLabel);
container.add(nameField);
container.add(genderLabel);
container.add(genderBox);
container.add(roomNoLabel);
container.add(roomNoField);
container.add(dateLabel);
container.add(dateField);
container.add(addBtn);
container.add(viewBtn);
container.add(clearBtn);
setSize(400, 250);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/dormitory", "root", "password");
} catch (Exception e) {
System.out.println(e);
}
}
public void actionPerformed(ActionEvent e) {
if (e.getSource() == addBtn) {
String name = nameField.getText();
String gender = genderBox.getSelectedItem().toString();
String roomNo = roomNoField.getText();
String date = dateField.getText();
try {
pst = conn.prepareStatement("insert into student(name, gender, roomNo, date) values(?,?,?,?)");
pst.setString(1, name);
pst.setString(2, gender);
pst.setString(3, roomNo);
pst.setString(4, date);
pst.executeUpdate();
JOptionPane.showMessageDialog(this, "添加成功");
} catch (SQLException ex) {
System.out.println(ex);
JOptionPane.showMessageDialog(this, "添加失败");
}
} else if (e.getSource() == viewBtn) {
try {
pst = conn.prepareStatement("select * from student");
rs = pst.executeQuery();
StringBuilder sb = new StringBuilder();
while (rs.next()) {
sb.append(rs.getString("name")).append("\t");
sb.append(rs.getString("gender")).append("\t");
sb.append(rs.getString("roomNo")).append("\t");
sb.append(rs.getString("date")).append("\n");
}
JOptionPane.showMessageDialog(this, sb.toString());
} catch (SQLException ex) {
System.out.println(ex);
JOptionPane.showMessageDialog(this, "查询失败");
}
} else if (e.getSource() == clearBtn) {
nameField.setText("");
genderBox.setSelectedIndex(0);
roomNoField.setText("");
dateField.setText("");
}
}
}
```
该代码使用了MySQL数据库,需要首先安装MySQL并创建一个名为dormitory的数据库。请将代码中的“password”替换为您的MySQL密码。
该代码实现了一个简单的宿舍管理系统,包括添加学生信息、查看学生信息和清空输入框等功能。您可以根据自己的需求进行修改和扩展。
阅读全文