实验报告:JDBC 数据库编程实验
网站编辑2023-05-20 16:02:17799
本实验旨在通过使用 JDBC 技术,实现 Java 与数据库的连接,以及对数据库进行增删改查等操作。

- 操作系统:Windows 10
- 开发工具:Eclipse
- 数据库:MySQL
首先,需要在 Java 代码中使用 JDBC 连接数据库。在 Eclipse 中创建一个 Java 项目,并在项目中添加 MySQL 的 JDBC 驱动包。
```java
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "password");
```
上述代码中,`Class.forName()` 方法用于加载 MySQL 的 JDBC 驱动,`DriverManager.getConnection()` 方法用于连接数据库。其中,`localhost` 表示本地主机,`3306` 表示 MySQL 的默认端口号,`test` 表示要连接的数据库名称,`root` 和 `password` 分别表示数据库的用户名和密码。
连接数据库后,可以使用 JDBC 对数据库进行增删改查等操作。以下是一些常用的数据库操作方法:
```java
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM student");
while (rs.next()) {
int id = rs.getInt("id");
String name = rs.getString("name");
int age = rs.getInt("age");
System.out.println("id: " + id + ", name: " + name + ", age: " + age);
}
```
上述代码中,`conn.createStatement()` 方法用于创建一个 Statement 对象,`stmt.executeQuery()` 方法用于执行 SQL 查询语句,并返回一个 ResultSet 对象。`rs.next()` 方法用于遍历查询结果集,`rs.getInt()` 和 `rs.getString()` 方法用于获取查询结果集中的数据。
```java
PreparedStatement pstmt = conn.prepareStatement("INSERT INTO student (name, age) VALUES (?, ?)");
pstmt.setString(1, "张三");
pstmt.setInt(2, 20);
pstmt.executeUpdate();
```
上述代码中,`conn.prepareStatement()` 方法用于创建一个 PreparedStatement 对象,`pstmt.setString()` 和 `pstmt.setInt()` 方法用于设置 SQL 语句中的参数,`pstmt.executeUpdate()` 方法用于执行 SQL 插入语句。
```java
PreparedStatement pstmt = conn.prepareStatement("UPDATE student SET age = ? WHERE name = ?");
pstmt.setInt(1, 21);
pstmt.setString(2, "张三");
pstmt.executeUpdate();
```
上述代码中,`conn.prepareStatement()` 方法用于创建一个 PreparedStatement 对象,`pstmt.setInt()` 和 `pstmt.setString()` 方法用于设置 SQL 语句中的参数,`pstmt.executeUpdate()` 方法用于执行 SQL 更新语句。
```java
PreparedStatement pstmt = conn.prepareStatement("DELETE FROM student WHERE name = ?");
pstmt.setString(1, "张三");
pstmt.executeUpdate();
```
上述代码中,`conn.prepareStatement()` 方法用于创建一个 PreparedStatement 对象,`pstmt.setString()` 方法用于设置 SQL 语句中的参数,`pstmt.executeUpdate()` 方法用于执行 SQL 删除语句。
在完成数据库操作后,需要关闭数据库连接,以释放资源。
```java
rs.close();
stmt.close();
conn.close();
```
上述代码中,`rs.close()`、`stmt.close()` 和 `conn.close()` 方法分别用于关闭 ResultSet、Statement 和 Connection 对象。
本实验通过使用 JDBC 技术,实现了 Java 与数据库的连接,以及对数据库进行增删改查等操作。在实验过程中,需要注意数据库连接的安全性和资源释放的问题。通过本实验的学习,可以更好地理解 JDBC 技术的原理和应用。







