preparedstatement的用法
    PreparedStatement 是 Java 中用来执行 SQL 语句的对象,与 Statement 不同的是,PreparedStatement 可以使用占位符 "?" 来代替具体的参数值,这样可以更加灵活和安全地执行 SQL 语句,防止 SQL 注入攻击。
resultset 遍历    使用 Connection 对象的 prepareStatement() 方法可以创建出 PreparedStatement 对象,该方法需要传入一个 SQL 语句作为参数。
    例如:
    ```java
    String sql = " SELECT * FROM users WHERE username = ? AND password = ?";
    PreparedStatement ps = conn.prepareStatement(sql);
    ```
    2. 给占位符设置参数值
    使用 PreparedStatement 对象的 setXXX() 方法可以为占位符设置具体的参数值,XXX 表示参数的类型,如 setInt() 表示设置整型参数,setString() 表示设置字符串参数等。
    ```java
    ps.setString(1, username);
    ps.setString(2, password);
    ```
    3. 执行 SQL 语句
    使用 PreparedStatement 对象的 execute()、executeQuery() 或 executeUpdate() 方法可以执行 SQL 语句。其中,execute() 方法适用于执行任何类型的 SQL 语句,而 executeQuery() 方法适用于执行 SELECT 语句并返回结果集,executeUpdate() 方法适用于执行 INSERT、UPDATE 或 DELETE 语句并返回受影响的行数。
    ```java
    ResultSet rs = ps.executeQuery();
    while (rs.next()) {
        // 处理查询结果
    }
    ```
    上面的代码执行了一个 SELECT 语句并将结果集保存到 ResultSet 对象中,通过遍历 ResultSet 对象可以依次取出每一行记录。
    使用 PreparedStatement 对象执行完 SQL 语句后,需要将其关闭以释放关联的数据库资源。
    ```java
    ps.close();
    ```
    总的来说,使用 PreparedStatement 可以避免 SQL 注入攻击,提高 SQL 语句的执行效率,因此在实际开发中应优先选择该方式执行 SQL 语句。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。