PreparedStatement
时间: 2023-11-27 20:22:10 浏览: 32
PreparedStatement 是 Java 中用于执行预编译 SQL 语句的接口。与 Statement 不同,PreparedStatement 可以将 SQL 语句预编译,并在执行时填充参数,从而提高 SQL 执行效率和安全性。
使用 PreparedStatement 执行 SQL 语句的步骤如下:
1. 使用 Connection 对象的 prepareStatement 方法创建 PreparedStatement 对象。
2. 调用 PreparedStatement 对象的 setXXX 方法设置 SQL 语句中的参数(XXX 代表数据类型,如 setString、setInt 等)。
3. 调用 PreparedStatement 对象的 executeQuery 或 executeUpdate 方法执行 SQL 语句。
以下是一个使用 PreparedStatement 执行查询的示例代码:
```java
try {
// 创建连接
Connection conn = DriverManager.getConnection(url, username, password);
// 创建 PreparedStatement 对象
PreparedStatement pstmt = conn.prepareStatement("SELECT * FROM users WHERE name = ?");
// 设置参数
pstmt.setString(1, "Tom");
// 执行查询并处理结果
ResultSet rs = pstmt.executeQuery();
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);
}
// 关闭连接
rs.close();
pstmt.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
```
该代码使用 PreparedStatement 对象查询 users 表中名字为 'Tom' 的记录,其中使用 setString 方法将占位符 '?' 设置为 'Tom'。最后,执行查询并处理结果。注意,在最后需要关闭 ResultSet、PreparedStatement 和 Connection 对象以释放资源。