编写一个JDBC程序,要求如下: (1) 驱动程序:com.mysql.jdbc.Driver url:jdbc:mysql://localhost:3306/mydb?characterEncoding=utf8 用户名:root 密码:root 表信息:student(学号,姓名,年龄,成绩) (2)向student表中插入一条记录(1,孙悟空,500,89.8) (3)查询并显示student表中的所有记录。
时间: 2023-06-27 11:04:39 浏览: 94
以下是一个简单的JDBC程序,实现了向student表中插入一条记录并查询并显示student表中的所有记录的要求:
```java
import java.sql.*;
public class JDBCExample {
// JDBC连接驱动器和数据库URL
static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
static final String DB_URL = "jdbc:mysql://localhost:3306/mydb?characterEncoding=utf8";
// 数据库用户和密码
static final String USER = "root";
static final String PASS = "root";
public static void main(String[] args) {
Connection conn = null;
Statement stmt = null;
try{
// 注册JDBC驱动器
Class.forName(JDBC_DRIVER);
// 打开一个连接
System.out.println("连接到数据库...");
conn = DriverManager.getConnection(DB_URL,USER,PASS);
// 执行插入数据操作
System.out.println("插入数据...");
stmt = conn.createStatement();
String sql = "INSERT INTO student (学号, 姓名, 年龄, 成绩) " +
"VALUES (1, '孙悟空', 500, 89.8)";
stmt.executeUpdate(sql);
// 执行查询操作
System.out.println("查询数据...");
sql = "SELECT * FROM student";
ResultSet rs = stmt.executeQuery(sql);
// 显示结果集
while(rs.next()){
// 通过字段检索
int id = rs.getInt("学号");
String name = rs.getString("姓名");
int age = rs.getInt("年龄");
double score = rs.getDouble("成绩");
// 输出数据
System.out.print("学号: " + id);
System.out.print(", 姓名: " + name);
System.out.print(", 年龄: " + age);
System.out.println(", 成绩: " + score);
}
// 完成后关闭
rs.close();
stmt.close();
conn.close();
} catch(SQLException se) {
// 处理JDBC错误
se.printStackTrace();
} catch(Exception e) {
// 处理Class.forName错误
e.printStackTrace();
} finally {
// 关闭资源
try{
if(stmt!=null) stmt.close();
} catch(SQLException se2) {
} try {
if(conn!=null) conn.close();
} catch(SQLException se){
se.printStackTrace();
}
System.out.println("Goodbye!");
}
}
}
```
运行上述程序将会输出如下的结果:
```
连接到数据库...
插入数据...
查询数据...
学号: 1, 姓名: 孙悟空, 年龄: 500, 成绩: 89.8
Goodbye!
```
阅读全文