用java设计一个医院床位信息管理系统,能够实现病人信息(床位号、姓名、性别、年龄、病类)的增加、删 除、修改、查询以及更新功能。最后,将病人住院信息保存在out.txt。
时间: 2023-07-04 21:21:02 浏览: 140
好的,这是一个涉及到数据库的项目,需要使用Java JDBC进行数据库操作。以下是大致的实现思路:
1. 设计数据库表,包括病人信息表和床位信息表,它们之间可以通过床位号进行关联。
2. 使用Java JDBC连接数据库,创建表,插入数据等操作。
3. 设计用户界面,可以使用Swing或JavaFX等框架进行开发。
4. 实现用户界面中的增加、删除、修改、查询、更新等功能,并且将病人住院信息保存在out.txt中。
下面是一个简单的代码示例,仅供参考:
```java
import java.sql.*;
import java.io.*;
public class HospitalBedManagementSystem {
private Connection conn;
private Statement stmt;
private ResultSet rs;
private FileWriter fw;
private PrintWriter pw;
public HospitalBedManagementSystem() {
try {
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost:3306/hospital";
String user = "root";
String password = "123456";
conn = DriverManager.getConnection(url, user, password);
stmt = conn.createStatement();
fw = new FileWriter("out.txt");
pw = new PrintWriter(fw);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
public void addPatient(int bedNo, String name, String gender, int age, String disease) {
try {
String sql = "INSERT INTO patient VALUES (" + bedNo + ", '" + name + "', '" + gender + "', " + age + ", '" + disease + "')";
stmt.executeUpdate(sql);
} catch (SQLException e) {
e.printStackTrace();
}
}
public void deletePatient(int bedNo) {
try {
String sql = "DELETE FROM patient WHERE bedNo = " + bedNo;
stmt.executeUpdate(sql);
} catch (SQLException e) {
e.printStackTrace();
}
}
public void updatePatient(int bedNo, String name, String gender, int age, String disease) {
try {
String sql = "UPDATE patient SET name = '" + name + "', gender = '" + gender + "', age = " + age + ", disease = '" + disease + "' WHERE bedNo = " + bedNo;
stmt.executeUpdate(sql);
} catch (SQLException e) {
e.printStackTrace();
}
}
public void queryPatient(int bedNo) {
try {
String sql = "SELECT * FROM patient WHERE bedNo = " + bedNo;
rs = stmt.executeQuery(sql);
while (rs.next()) {
int no = rs.getInt("bedNo");
String name = rs.getString("name");
String gender = rs.getString("gender");
int age = rs.getInt("age");
String disease = rs.getString("disease");
System.out.println("床位号:" + no + ", 姓名:" + name + ", 性别:" + gender + ", 年龄:" + age + ", 病种:" + disease);
pw.println("床位号:" + no + ", 姓名:" + name + ", 性别:" + gender + ", 年龄:" + age + ", 病种:" + disease);
}
} catch (SQLException e) {
e.printStackTrace();
}
}
public void saveToFile() {
try {
rs = stmt.executeQuery("SELECT * FROM patient");
while (rs.next()) {
int no = rs.getInt("bedNo");
String name = rs.getString("name");
String gender = rs.getString("gender");
int age = rs.getInt("age");
String disease = rs.getString("disease");
pw.println("床位号:" + no + ", 姓名:" + name + ", 性别:" + gender + ", 年龄:" + age + ", 病种:" + disease);
}
pw.flush();
pw.close();
fw.close();
} catch (SQLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
HospitalBedManagementSystem system = new HospitalBedManagementSystem();
// 添加病人信息
system.addPatient(1, "张三", "男", 35, "感冒");
system.addPatient(2, "李四", "女", 28, "发烧");
// 查询病人信息
system.queryPatient(1);
system.queryPatient(2);
// 修改病人信息
system.updatePatient(1, "王五", "男", 40, "感冒");
// 删除病人信息
system.deletePatient(2);
// 保存病人信息到文件
system.saveToFile();
}
}
```
请注意,这里只是一个简单的示例代码,并不是完整的实现方案。实际开发中,您需要根据具体需求进行修改和完善。同时,本示例使用的是MySQL数据库,您也可以根据实际情况选择其他类型的数据库。
阅读全文