在 Java 中连接 SQL 数据库是一项常见的任务。JDK8 提供了一组强大的 API 和功能,可以简化这个过程。本文将提供一个全面的指南,介绍如何使用 JDK8 连接 SQL 数据库,执行查询和更新数据。
先决条件
在开始之前,您需要确保以下先决条件已经满足:
Java Development Kit (JDK) 8
SQL 数据库(如 MySQL、PostgreSQL、Oracle)
数据库连接信息(主机、数据库名、用户名、密码)
使用 JDBC 驱动
Java Database Connectivity (JDBC) 是一个用于 Java 应用程序与数据库交互的行业标准 API。JDK8 内置对 JDBC 4.2 的支持。要连接到数据库,您需要加载适当的 JDBC 驱动程序。例如,要连接到 MySQL 数据库,您需要加载 com.mysql.jdbc.Driver 驱动程序:
java
import java.sql.Driver;
import java.sql.DriverManager;
Class.forName("com.mysql.jdbc.Driver");
获取连接
获取连接是连接到数据库的关键步骤。为此,您需要使用 DriverManager.getConnection() 。该 接受数据库连接 URL、用户名和密码等参数:
java
import java.sql.Connection;
String url = "jdbc:mysql://localhost:3306/mydb";
String user = "root";
String password = "mypassword";
Connection conn = DriverManager.getConnection(url, user, password);
创建语句
连接建立后,您可以创建语句对象来执行 SQL 查询或更新。JDK8 提供了两种类型的语句对象:Statement 和 PreparedStatement。Statement 对象用于执行简单的 SQL 查询,而 PreparedStatement 对象用于执行带参数的查询,这有助于防止 SQL 注入攻击:
java
import java.sql.Statement;
import java.sql.PreparedStatement;
Statement stmt = conn.createStatement();
PreparedStatement pstmt = conn.prepareStatement("SELECT * FROM users WHERE name = ?");
pstmt.setString(1, "John Doe");
执行查询
要执行查询,您可以使用 Statement.executeQuery() :
java
ResultSet rs = stmt.executeQuery("SELECT * FROM users");
处理结果集
ResultSet 对象包含查询结果。您可以遍历 ResultSet 并获取每行的列值:
java
while (rs.next()) {
int id = rs.getInt("id");
String name = rs.getString("name");
...
}
更新数据
要更新数据,您可以使用 Statement.executeUpdate() :
java
int rowCount = stmt.executeUpdate("UPDATE users SET name = 'Jane Doe' WHERE id = 1");
关闭连接
完成后,请务必关闭连接以释放资源:
java
conn.close();
遵循本指南,您可以轻松地使用 JDK8 连接到 SQL 数据库,执行查询和更新数据。通过利用 JDBC API,您可以创建健壮且高效的数据库应用程序。