使用PreparedStatement实现查询整个表
时间: 2023-11-27 13:56:51 浏览: 84
以下是使用PreparedStatement实现查询整个表的示例代码:
```java
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class QueryTableExample {
public static void main(String[] args) {
Connection conn = null;
PreparedStatement stmt = null;
ResultSet rs = null;
try {
// 1. 加载数据库驱动程序
Class.forName("com.mysql.jdbc.Driver");
// 2. 获取数据库连接
String url = "jdbc:mysql://localhost:3306/test";
String user = "root";
String password = "password";
conn = DriverManager.getConnection(url, user, password);
// 3. 创建PreparedStatement对象
String sql = "SELECT * FROM mytable";
stmt = conn.prepareStatement(sql);
// 4. 执行查询并获取结果集
rs = stmt.executeQuery();
// 5. 处理结果集
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);
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} finally {
// 6. 关闭资源
try {
if (rs != null) {
rs.close();
}
if (stmt != null) {
stmt.close();
}
if (conn != null) {
conn.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
```
在上面的示例中,我们通过PreparedStatement对象执行了一个查询语句,查询了整个表。在处理结果集时,我们使用了ResultSet对象的next()方法来遍历结果集中的每一行数据,并使用getInt()、getString()等方法获取每一列的值。最后,我们在finally块中关闭了所有资源,以确保程序正确释放资源。
阅读全文