jdbc sql语句中带变量参数的解决方法
时间: 2023-07-11 17:39:02 浏览: 46
在 JDBC 中,我们可以使用 PreparedStatement 对象来执行带有变量参数的 SQL 语句,其主要步骤如下:
1. 创建 PreparedStatement 对象:使用 Connection 对象的 prepareStatement() 方法创建一个 PreparedStatement 对象。
2. 设置参数值:使用 PreparedStatement 对象的 setXXX() 方法为变量参数设置值(XXX 代表参数类型,如 setString()、setInt() 等)。
3. 执行 SQL 语句:使用 PreparedStatement 对象的 executeQuery() 或 executeUpdate() 方法执行 SQL 语句。
下面是一个示例代码:
```java
Connection conn = DriverManager.getConnection(url, user, password);
String sql = "INSERT INTO user(name, age) VALUES(?, ?)";
PreparedStatement stmt = conn.prepareStatement(sql);
stmt.setString(1, "Tom");
stmt.setInt(2, 20);
stmt.executeUpdate();
```
在上面的代码中,我们创建了一个 PreparedStatement 对象,然后使用 setString() 和 setInt() 方法为变量参数设置值,最后执行了一个插入操作。
注意:使用 PreparedStatement 可以防止 SQL 注入攻击,因为变量参数的值会被自动转义,避免了恶意 SQL 代码的执行。