ResultSet 接口用于保存 JDBC 执行查询时返回的结果集,该结果集封装在一个逻辑表格中。在 ResultSet 接口内部有一个指向表格数据行的游标(或指针)。ResultSet 对象初始化时,游标在表格的第一行之前,调用 next()方法可将游标移动到下一行。如果下一行没有数据,则返回 false。在应用程序中经常使用 next()方法作为 while 循环的条件来迭代 ResultSet 结果集。
ResultSet 接口中的常用方法如下表所示。
方法名称 | 功能描述 |
---|---|
String getString(int columnIndex) | 用于获取指定字段的 String 类型的值,参数 columnIndex 代表字段的引索 |
String getString(String columnName) | 用于获取指定字段的 String 类型的值,参数 columnName代表字段的名称 |
int getInt(int columnIndex) | 用于获取指定字段的 int 类型的值,参数 columnIndex 代表字段的引索 |
int getInt(String columnName) | 用于获取指定字段的 int 类型的值,参数 columnName 代表字段的名称 |
Date getDate(int columnIndex) | 用于获取指定字段的 Date 类型的值,参数 columnIndex 代表字段的引索 |
Date getDate(String columnName) | 用于获取指定字段的 Date 类型的值,参数 columnName 代表字段的名称 |
boolean next() | 将游标从当前位置向下移一行 |
boolean absolute(int row) | 将游标移动到此 ResultSet 对象的指定行 |
void afterLast() | 将游标移动到此 ResultSet 对象的末尾,即最后一行之后 |
void beforeFirst() | 将游标移动到此 ResultSet 对象的开头,即第一行之前 |
boolean previous() | 将游标移动到此 ResultSet 对象的上一行 |
boolean last() | 将游标移动到此 ResultSet 对象的最后一行 |
从上表可以看出, ResultSet 接口中定义了大量的 getXxx()方法,而采用哪种 getXxx()方法取决于字段的数据类型。程序既可以通过字段的名称来获取指定数据,也可以通过字段的引索来获取指定的数据,字段的引索是从 1 开始编号的。例如,数据表的第一列字段名为 id,字段类型为 int,那么既可以使用 getInt(1)获取该列的值,也可以使用 getInt(“id”)获取该列的值。