第2课_JDBC基本操作
热度🔥:37 免费课程
授课语音
使用JDBC实现数据库的连接与基础操作
Java数据库连接(JDBC)是Java编程中与数据库交互的重要机制。JDBC提供了一系列API来操作数据库,包括连接数据库、执行SQL查询、更新数据等操作。本课件将介绍如何使用JDBC实现数据库连接及常见的基础操作。
1. JDBC概述
JDBC(Java Database Connectivity)是Java中的一套API,用于操作关系型数据库。它提供了一种标准的方式来与不同类型的数据库进行通信。
- JDBC的基本流程:
- 加载数据库驱动:通过
Class.forName()
加载数据库驱动程序。 - 建立数据库连接:使用
DriverManager.getConnection()
方法建立与数据库的连接。 - 创建Statement对象:使用
Connection
对象创建Statement
对象。 - 执行SQL查询/更新:使用
Statement
对象执行SQL语句。 - 处理查询结果:通过
ResultSet
对象处理查询返回的数据。 - 关闭连接:操作完成后关闭数据库连接,释放资源。
- 加载数据库驱动:通过
2. JDBC基本操作
2.1 加载数据库驱动
首先,需要加载相应的数据库驱动。通过Class.forName()
方法来加载。
// 加载MySQL数据库驱动
Class.forName("com.mysql.cj.jdbc.Driver");
代码解析:
Class.forName("com.mysql.cj.jdbc.Driver")
是加载MySQL数据库的JDBC驱动,它使Java程序能够与MySQL数据库进行连接。
2.2 建立数据库连接
使用DriverManager.getConnection()
方法建立与数据库的连接。
// 连接到MySQL数据库
String url = "jdbc:mysql://localhost:3306/testdb"; // 数据库URL
String user = "root"; // 数据库用户名
String password = "password"; // 数据库密码
Connection conn = DriverManager.getConnection(url, user, password);
代码解析:
DriverManager.getConnection()
方法通过指定的URL、用户名和密码建立与数据库的连接。
2.3 创建Statement对象
通过Connection
对象创建Statement
对象,用于执行SQL语句。
// 创建Statement对象
Statement stmt = conn.createStatement();
代码解析:
conn.createStatement()
创建一个Statement
对象,用来执行SQL查询或更新操作。
2.4 执行SQL查询
通过Statement
对象执行SQL查询,并使用ResultSet
对象处理查询结果。
// 执行SQL查询
String sql = "SELECT id, name FROM users";
ResultSet rs = stmt.executeQuery(sql);
// 处理查询结果
while (rs.next()) {
int id = rs.getInt("id"); // 获取id字段的值
String name = rs.getString("name"); // 获取name字段的值
System.out.println("ID: " + id + ", Name: " + name);
}
代码解析:
stmt.executeQuery(sql)
执行查询SQL,并返回一个ResultSet
对象。rs.next()
用于迭代ResultSet
中的每一条记录。rs.getInt("id")
和rs.getString("name")
获取每一行记录的字段值。
2.5 执行SQL更新
如果需要执行SQL更新(如INSERT
、UPDATE
、DELETE
),可以使用executeUpdate()
方法。
// 执行INSERT语句
String sqlInsert = "INSERT INTO users (name, age) VALUES ('John', 30)";
int rowsAffected = stmt.executeUpdate(sqlInsert);
System.out.println("Rows affected: " + rowsAffected);
代码解析:
stmt.executeUpdate(sqlInsert)
用于执行更新操作,如插入数据,并返回受影响的行数。
2.6 关闭数据库连接
在操作完成后,需要关闭数据库连接、Statement
对象和ResultSet
对象。
// 关闭连接和资源
rs.close(); // 关闭ResultSet
stmt.close(); // 关闭Statement
conn.close(); // 关闭Connection
代码解析:
rs.close()
、stmt.close()
和conn.close()
分别关闭ResultSet
、Statement
和Connection
对象,释放数据库连接。
3. JDBC错误处理
在JDBC操作中,可能会遇到数据库连接错误、SQL语法错误等问题。通过try-catch
语句捕获并处理这些异常。
try {
// 数据库连接、操作等代码
} catch (SQLException e) {
// 处理SQLException
System.out.println("SQL Error: " + e.getMessage());
} finally {
// 确保关闭连接
try {
if (rs != null) rs.close();
if (stmt != null) stmt.close();
if (conn != null) conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
代码解析:
- 使用
try-catch
块捕获并处理SQLException
。 finally
块确保即使发生异常也能正确关闭资源。
4. 总结
- JDBC流程:加载驱动、建立连接、执行操作、处理结果、关闭连接。
- 常用方法:
DriverManager.getConnection()
:建立连接。Statement.executeQuery()
:执行查询操作。Statement.executeUpdate()
:执行更新操作。ResultSet.next()
:遍历查询结果。
- 错误处理:通过
try-catch
捕获和处理SQL异常。
通过掌握这些基础操作,开发者能够更高效地使用JDBC与数据库进行交互。