java编写简单学生成绩管理系统,包含增删改查四个基本功能,六张数据库表,编写简单实现代码
时间: 2024-09-06 12:03:07 浏览: 54
创建一个简单的学生成绩管理系统,我们需要定义几个关键的组件:
1. 数据库表的设计:在数据库中至少需要六张表来存储不同的数据,例如学生信息、课程信息、成绩信息、教师信息、班级信息以及课程与教师的关系表等。这里给出一个简化的设计示例:
- 学生表(Students):存储学生的基本信息,如学号、姓名、性别、班级等。
- 课程表(Courses):存储课程的基本信息,如课程编号、课程名称、学分等。
- 成绩表(Grades):存储学生的成绩信息,如学生学号、课程编号、成绩等。
- 教师表(Teachers):存储教师的基本信息,如教师编号、姓名、性别、职称等。
- 班级表(Classes):存储班级信息,如班级编号、班级名称等。
- 课程教师关系表(CourseTeacher):存储课程与教师之间的对应关系。
2. 数据库连接和操作:可以使用JDBC(Java Database Connectivity)来连接和操作数据库。
3. 增删改查功能实现:使用SQL语句实现对数据库的操作。
下面是一个简单的Java代码示例,用于展示如何使用JDBC来实现增删改查操作:
```java
// 假设已经有了数据库连接和相关表的创建
// 增加学生信息
public void addStudent(String studentId, String name, String gender, String classId) {
String sql = "INSERT INTO Students (studentId, name, gender, classId) VALUES (?, ?, ?, ?)";
try (Connection conn = DriverManager.getConnection(dbUrl, dbUser, dbPassword);
PreparedStatement pstmt = conn.prepareStatement(sql)) {
pstmt.setString(1, studentId);
pstmt.setString(2, name);
pstmt.setString(3, gender);
pstmt.setString(4, classId);
pstmt.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
}
// 删除学生信息
public void deleteStudent(String studentId) {
String sql = "DELETE FROM Students WHERE studentId = ?";
try (Connection conn = DriverManager.getConnection(dbUrl, dbUser, dbPassword);
PreparedStatement pstmt = conn.prepareStatement(sql)) {
pstmt.setString(1, studentId);
pstmt.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
}
// 更新学生信息
public void updateStudent(String studentId, String newName) {
String sql = "UPDATE Students SET name = ? WHERE studentId = ?";
try (Connection conn = DriverManager.getConnection(dbUrl, dbUser, dbPassword);
PreparedStatement pstmt = conn.prepareStatement(sql)) {
pstmt.setString(1, newName);
pstmt.setString(2, studentId);
pstmt.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
}
// 查询学生信息
public void queryStudent(String studentId) {
String sql = "SELECT * FROM Students WHERE studentId = ?";
try (Connection conn = DriverManager.getConnection(dbUrl, dbUser, dbPassword);
PreparedStatement pstmt = conn.prepareStatement(sql)) {
pstmt.setString(1, studentId);
ResultSet rs = pstmt.executeQuery();
while (rs.next()) {
// 处理结果集,例如打印学生信息
System.out.println("Student ID: " + rs.getString("studentId"));
System.out.println("Name: " + rs.getString("name"));
// ...其他信息
}
} catch (SQLException e) {
e.printStackTrace();
}
}
```
以上代码段仅提供了一个概念性的示例,实际应用中需要考虑更多的细节,例如异常处理、数据库连接池的使用、事务管理等。
阅读全文