`PreparedStatement` 是 Java 中用于执行 SQL 语句的一个接口,它属于 `java.sql` 包,`PreparedStatement` 主要用于执行参数化的 SQL 语句,这样可以提高执行效率,同时也能防止 SQL 注入攻击。
使用 `PreparedStatement` 的基本步骤如下:
1. 创建 `Connection` 对象,用于连接到数据库。
2. 创建 `PreparedStatement` 对象,并设置 SQL 语句和参数。
3. 执行 SQL 语句。
4. 处理结果集(如果有的话)。
5. 关闭 `PreparedStatement` 和 `Connection` 对象。
下面是一个简单的示例,展示如何使用 `PreparedStatement` 插入一条记录到数据库:
import java.sql.*; public class PreparedStatementExample { public static void main(String[] args) { String url = "jdbc:mysql://localhost:3306/mydatabase"; String user = "username"; String password = "password"; try { // 1. 创建 Connection 对象 Connection connection = DriverManager.getConnection(url, user, password); // 2. 创建 PreparedStatement 对象并设置 SQL 语句和参数 String sql = "INSERT INTO mytable (name, age) VALUES (?, ?)"; PreparedStatement statement = connection.prepareStatement(sql); statement.setString(1, "John"); statement.setInt(2, 30); // 3. 执行 SQL 语句 int rowsInserted = statement.executeUpdate(); System.out.println(rowsInserted + " row inserted."); // 4. 处理结果集(这里没有结果集,所以跳过) // 5. 关闭 PreparedStatement 和 Connection 对象 statement.close(); connection.close(); } catch (SQLException e) { e.printStackTrace(); } } }
在这个示例中,我们使用了 MySQL 的 JDBC URL、用户名和密码来连接到数据库,我们创建了一个 `PreparedStatement` 对象,并设置了 SQL 语句和参数,我们执行了 SQL 语句并处理了结果集(这里没有结果集,所以跳过了),我们关闭了 `PreparedStatement` 和 `Connection` 对象。