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小时内删除。
发表评论