preparedstatement

admin 38 0

`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` 对象。