使用PreparedStatement接口完成7.4节中修改、删除以及查询操作
时间: 2024-01-15 14:02:31 浏览: 91
好的,我可以为您回答这个问题。首先,您需要了解PreparedStatement接口是用于执行预编译的SQL语句的接口,它可以提高数据库操作效率,防止SQL注入攻击。
下面是使用PreparedStatement接口完成修改、删除以及查询操作的示例代码:
1. 修改操作:
```java
String sql = "UPDATE student SET name = ? WHERE id = ?";
PreparedStatement statement = connection.prepareStatement(sql);
statement.setString(1, "Tom");
statement.setInt(2, 1);
int rows = statement.executeUpdate();
```
2. 删除操作:
```java
String sql = "DELETE FROM student WHERE id = ?";
PreparedStatement statement = connection.prepareStatement(sql);
statement.setInt(1, 1);
int rows = statement.executeUpdate();
```
3. 查询操作:
```java
String sql = "SELECT * FROM student WHERE id = ?";
PreparedStatement statement = connection.prepareStatement(sql);
statement.setInt(1, 1);
ResultSet resultSet = statement.executeQuery();
while (resultSet.next()) {
int id = resultSet.getInt("id");
String name = resultSet.getString("name");
int age = resultSet.getInt("age");
System.out.println("id: " + id + ", name: " + name + ", age: " + age);
}
```
需要注意的是,PreparedStatement接口中的占位符(?)是用来替代参数的,可以防止SQL注入攻击。在执行SQL语句之前,需要使用setXxx()方法设置占位符的值。其中,Xxx表示参数类型,比如setString()用于设置字符串类型的参数,setInt()用于设置整型参数等。
希望这个示例代码能够帮助您理解如何使用PreparedStatement接口完成修改、删除以及查询操作。
阅读全文