jdbc sql语句中带变量参数的解决方法
时间: 2023-07-11 08:51:30 浏览: 149
java代码中的sql语句处理.rar_JAVA SQL处理
在 JDBC 中,可以通过 PreparedStatement 来解决 SQL 语句中带变量参数的问题。PreparedStatement 可以使用占位符(?)来表示变量参数,然后使用 set 方法为每个占位符设置具体的值。
例如,如果要执行以下 SQL 语句:
```
SELECT * FROM users WHERE name = ?
```
可以使用以下代码创建 PreparedStatement 并设置变量参数值:
```java
String sql = "SELECT * FROM users WHERE name = ?";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, "John");
```
在上面的代码中,第一个参数 1 表示第一个占位符,第二个参数 "John" 表示将该占位符设置为字符串 "John"。
然后,可以使用 executeQuery 方法来执行 SQL 语句并获取查询结果:
```java
ResultSet rs = pstmt.executeQuery();
while (rs.next()) {
// 处理查询结果
}
```
注意,使用 PreparedStatement 可以有效避免 SQL 注入攻击。
阅读全文