编写一个学生成绩管理系统的java代码,并将学生成绩存入数据库
时间: 2024-03-03 09:49:40 浏览: 20
以下是一个简单的Java代码示例,演示如何管理学生成绩并将其存储在MySQL数据库中。请注意,这只是一个示例,你可以根据自己的需要进行修改和扩展。
```java
import java.sql.*;
import java.util.Scanner;
public class StudentGradeManagementSystem {
private static final String DB_URL = "jdbc:mysql://localhost:3306/mydatabase";
private static final String DB_USER = "root";
private static final String DB_PASSWORD = "mypassword";
public static void main(String[] args) {
try (Connection conn = DriverManager.getConnection(DB_URL, DB_USER, DB_PASSWORD);
Statement stmt = conn.createStatement()) {
createTable(stmt);
Scanner scanner = new Scanner(System.in);
while (true) {
System.out.println("1. Add student grade");
System.out.println("2. View student grades");
System.out.println("3. Exit");
System.out.print("Enter your choice: ");
int choice = scanner.nextInt();
switch (choice) {
case 1:
addStudentGrade(conn);
break;
case 2:
viewStudentGrades(stmt);
break;
case 3:
System.exit(0);
break;
default:
System.out.println("Invalid choice");
}
}
} catch (SQLException ex) {
ex.printStackTrace();
}
}
private static void createTable(Statement stmt) throws SQLException {
String sql = "CREATE TABLE IF NOT EXISTS student_grades ("
+ "id INT NOT NULL AUTO_INCREMENT,"
+ "name VARCHAR(50) NOT NULL,"
+ "subject VARCHAR(50) NOT NULL,"
+ "grade INT NOT NULL,"
+ "PRIMARY KEY (id)"
+ ")";
stmt.executeUpdate(sql);
}
private static void addStudentGrade(Connection conn) throws SQLException {
Scanner scanner = new Scanner(System.in);
System.out.print("Enter student name: ");
String name = scanner.nextLine();
System.out.print("Enter subject: ");
String subject = scanner.nextLine();
System.out.print("Enter grade: ");
int grade = scanner.nextInt();
String sql = "INSERT INTO student_grades (name, subject, grade) VALUES (?, ?, ?)";
try (PreparedStatement stmt = conn.prepareStatement(sql)) {
stmt.setString(1, name);
stmt.setString(2, subject);
stmt.setInt(3, grade);
int rowsAffected = stmt.executeUpdate();
System.out.println(rowsAffected + " row(s) affected");
}
}
private static void viewStudentGrades(Statement stmt) throws SQLException {
String sql = "SELECT name, subject, grade FROM student_grades";
try (ResultSet rs = stmt.executeQuery(sql)) {
System.out.println("Name\tSubject\tGrade");
while (rs.next()) {
String name = rs.getString("name");
String subject = rs.getString("subject");
int grade = rs.getInt("grade");
System.out.println(name + "\t" + subject + "\t" + grade);
}
}
}
}
```
这个示例创建一个名为“student_grades”的表来存储学生成绩。它提供一个简单的菜单,允许用户添加新的学生成绩或查看已存储的学生成绩。它使用JDBC连接到MySQL数据库,并使用预处理语句执行INSERT和SELECT查询。你可以根据需要修改查询和表结构来满足你的需求。