在分析我正在工作的项目遗留部分期间,我发现了以下方法:
public int getCount(String tableName, Connection connection) throws SQLException {
try (Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery(
"SELECT COUNT (*) FROM " + tableName
)) {
return resultSet.getInt(1);
}
}
在我看来,在查询执行后,ResultSet在第一行之前有光标,并且为了移动它,我应该调用一些导航方法,比如next()。然后才调用getXXX()来获取cell的值。 来自javadocs方法next()摘要
将光标从当前位置向前移动一行。 ResultSet游标最初位于第一行之前;第一次调用方法接下来会使第一行成为当前行;第二个调用使第二行成为当前行,依此类推。
那么,有人可以解释一下它是如何运作的吗?