上面代码没有预处理,我想要预处理的例子
时间: 2024-03-13 10:45:10 浏览: 81
预处理例子
好的,下面是一个使用预处理语句的Java连接MySQL数据库的示例代码:
```java
import java.sql.*;
public class ConnectMySQL {
public static void main(String[] args) {
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
try {
// 注册MySQL驱动
Class.forName("com.mysql.jdbc.Driver");
// 打开一个连接
String url = "jdbc:mysql://localhost:3306/test";
String user = "root";
String password = "123456";
conn = DriverManager.getConnection(url, user, password);
// 预处理SQL语句
String sql = "SELECT * FROM student WHERE id=?";
pstmt = conn.prepareStatement(sql);
// 设置参数
pstmt.setInt(1, 1);
// 执行查询操作
rs = pstmt.executeQuery();
// 处理结果集
while (rs.next()) {
int id = rs.getInt("id");
String name = rs.getString("name");
int age = rs.getInt("age");
System.out.println("id: " + id + ", name: " + name + ", age: " + age);
}
// 关闭连接
rs.close();
pstmt.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
```
上述代码中,我们使用了Java的JDBC API来连接MySQL数据库,并使用预处理语句来执行查询操作。需要注意的是,在预处理语句中,我们使用了问号占位符来代替真实的参数值,以增加代码的可读性和复用性。在执行预处理语句之前,我们需要调用PreparedStatement对象的setXXX方法来设置占位符的值,其中XXX表示参数的数据类型。最后,我们还需要在finally块中关闭连接、预处理语句和结果集等资源,以确保程序的稳定性和性能。
阅读全文