用Java写一个连接数据库的学生宿舍管理系统
时间: 2023-11-15 21:06:39 浏览: 40
好的,以下是一个简单的Java连接MySQL数据库实现学生宿舍管理系统的示例:
首先,需要导入MySQL的JDBC驱动程序,可以在Maven中添加以下依赖项:
```xml
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.23</version>
</dependency>
```
接下来,创建一个名为`Student`的Java类,用于存储学生的信息:
```java
public class Student {
private int id;
private String name;
private String gender;
private String dormitory;
public Student(int id, String name, String gender, String dormitory) {
this.id = id;
this.name = name;
this.gender = gender;
this.dormitory = dormitory;
}
// getters and setters
}
```
然后,创建一个名为`DatabaseConnection`的Java类,用于连接MySQL数据库:
```java
import java.sql.*;
public class DatabaseConnection {
private Connection connection;
public DatabaseConnection(String url, String user, String password) throws SQLException {
connection = DriverManager.getConnection(url, user, password);
}
public void close() throws SQLException {
connection.close();
}
public void insertStudent(Student student) throws SQLException {
PreparedStatement statement = connection.prepareStatement("INSERT INTO students (id, name, gender, dormitory) VALUES (?, ?, ?, ?)");
statement.setInt(1, student.getId());
statement.setString(2, student.getName());
statement.setString(3, student.getGender());
statement.setString(4, student.getDormitory());
statement.executeUpdate();
}
public Student getStudentById(int id) throws SQLException {
PreparedStatement statement = connection.prepareStatement("SELECT * FROM students WHERE id = ?");
statement.setInt(1, id);
ResultSet resultSet = statement.executeQuery();
if (resultSet.next()) {
return new Student(
resultSet.getInt("id"),
resultSet.getString("name"),
resultSet.getString("gender"),
resultSet.getString("dormitory")
);
} else {
return null;
}
}
public void updateStudent(Student student) throws SQLException {
PreparedStatement statement = connection.prepareStatement("UPDATE students SET name = ?, gender = ?, dormitory = ? WHERE id = ?");
statement.setString(1, student.getName());
statement.setString(2, student.getGender());
statement.setString(3, student.getDormitory());
statement.setInt(4, student.getId());
statement.executeUpdate();
}
public void deleteStudent(int id) throws SQLException {
PreparedStatement statement = connection.prepareStatement("DELETE FROM students WHERE id = ?");
statement.setInt(1, id);
statement.executeUpdate();
}
}
```
在`DatabaseConnection`类中,我们定义了几种常见的数据库操作,例如插入、查找、更新和删除学生信息。
最后,创建一个`Main`类,用于测试我们的数据库连接和操作:
```java
public class Main {
public static void main(String[] args) {
try {
DatabaseConnection connection = new DatabaseConnection("jdbc:mysql://localhost:3306/dormitory", "root", "password");
Student student1 = new Student(1, "张三", "男", "1号楼101");
Student student2 = new Student(2, "李四", "女", "2号楼201");
// 插入学生信息
connection.insertStudent(student1);
connection.insertStudent(student2);
// 查找学生信息
Student student3 = connection.getStudentById(1);
System.out.println(student3.getName()); // 输出:张三
// 更新学生信息
student1.setDormitory("1号楼105");
connection.updateStudent(student1);
// 删除学生信息
connection.deleteStudent(2);
connection.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
```
在`Main`类中,我们创建了两个学生对象并插入到数据库中,然后查找ID为1的学生信息并输出姓名,然后更新ID为1的学生的宿舍信息和删除ID为2的学生信息,最后关闭数据库连接。
以上是一个简单的使用Java连接MySQL数据库实现学生宿舍管理系统的示例,具体的实现可能因为项目需求而有所不同。