使用JDBC连接数据库,用户输入学生成绩的信息(id、姓名、C语言分数、html分数、css分数),点击提交能够将输入的信息保存到数据库,并显示出所有学生成绩的信息
时间: 2024-09-24 20:28:42 浏览: 69
在Java中,使用JDBC(Java Database Connectivity)连接数据库通常涉及以下几个步骤:
1. **连接数据库**:首先需要通过`DriverManager.getConnection()`方法加载相应的数据库驱动,然后提供数据库URL、用户名和密码建立连接。
```java
String url = "jdbc:mysql://localhost:3306/your_database";
String username = "your_username";
String password = "your_password";
Connection conn = DriverManager.getConnection(url, username, password);
```
2. **创建Statement或PreparedStatement**:为了插入数据,你可以使用`Statement`或更安全的`PreparedStatement`,后者可以防止SQL注入攻击。
3. **准备并执行插入语句**:
- 对于简单的插入,使用`Statement`:
```java
String sqlInsert = "INSERT INTO students (id, name, c_language_score, html_score, css_score) VALUES (?, ?, ?, ?, ?)";
PreparedStatement pstmt = conn.prepareStatement(sqlInsert);
pstmt.setInt(1, studentId); // 学生ID
pstmt.setString(2, studentName);
pstmt.setInt(3, cLanguageScore);
pstmt.setInt(4, htmlScore);
pstmt.setInt(5, cssScore);
pstmt.executeUpdate();
```
- 或者使用`PreparedStatement`预编译:
```java
pstmt.setString("id", studentId);
pstmt.setString("name", studentName);
pstmt.setInt("c_language_score", cLanguageScore);
pstmt.setInt("html_score", htmlScore);
pstmt.setInt("css_score", cssScore);
pstmt.addBatch();
```
4. **查询所有学生成绩信息**:
可以使用`SELECT`语句从数据库获取所有学生信息,然后遍历结果集显示。
```java
String sqlSelect = "SELECT * FROM students";
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(sqlSelect);
while (rs.next()) {
int id = rs.getInt("id");
String name = rs.getString("name");
int cLanguageScore = rs.getInt("c_language_score");
int htmlScore = rs.getInt("html_score");
int cssScore = rs.getInt("css_score");
System.out.println("ID: " + id + ", Name: " + name + ", C语言得分: " + cLanguageScore + ", HTML得分: " + htmlScore + ", CSS得分: " + cssScore);
}
```
5. **关闭资源**:完成后别忘了关闭`ResultSet`, `Statement`和`Connection`。
阅读全文