JDBC的ResultSet是什么?
在 JDBC 中,ResultSet
是一个接口,它代表数据库查询的结果。当我们执行一个 SELECT 查询时,我们可以得到一个 ResultSet
对象,然后我们可以从这个对象中取出查询结果。
ResultSet
对象维护一个游标,指向其当前的行。最初,游标位于第一行之前,调用 next()
方法可以使游标向下移动一行。当游标位于一行时,我们可以调用各种 getter 方法,如 getString()
, getInt()
, getBoolean()
等,来获取当前行的数据。
以下是 ResultSet
的一个基本使用示例:
// Assume stmt is a Statement object
ResultSet rs = stmt.executeQuery("SELECT username, age FROM users");
while (rs.next()) {
String username = rs.getString("username");
int age = rs.getInt("age");
System.out.println("Username: " + username);
System.out.println("Age: " + age);
}
在这个例子中,我们首先执行了一个 SELECT 查询,然后得到了一个 ResultSet
对象。然后我们通过一个 while 循环,调用 next()
方法遍历了查询结果的每一行。对于每一行,我们调用 getString()
和 getInt()
方法来获取用户名和年龄,然后打印出来。
需要注意的是,ResultSet
对象在使用完毕后应该被关闭,以释放资源。通常,当其关联的 Statement
或 Connection
对象被关闭时,ResultSet
也会被自动关闭。但在某些情况下,我们可能需要手动关闭它,可以通过调用其 close()
方法来实现。