MySQL 如何使用JDBC程序遍历ResultSet
ResultSet接口的 next() 方法将当前ResultSet对象的指针/光标移动到当前位置下一行。此方法返回一个布尔值。如果当前位置下没有行,则此方法返回false,否则返回true。
因此,您可以在while循环中使用此方法来迭代ResultSet对象的内容。
while(rs.next()){
}
阅读更多:MySQL 教程
获取每个记录的列值
ResultSet接口还提供getter方法(getXXX())以检索行中每个列的值,每个getter方法有两个变体:
- getXXX(int columnIndex): 接受代表列索引的整数值并返回其值。
-
getXXX(String columnLabel ): 接受代表列名的字符串值并返回其值。
你需要根据表中列的数据类型使用相应的getter方法。
while(rs.next()) {
System.out.print("品牌: "+rs.getString("Column_Name")+", ");
System.out.print("销量: "+rs.getString("Column_Name "));
………………………
………………………
System.out.println("");
}
同样地,如果是双向的ResultSet对象,你可以使用previous()方法向后导航。
由于ResultSet对象的指针默认情况下位于第1行之前。要向后导航,您需要将指针/光标移动到最后一行后的下一行,并向后导航:
rs.afterLast();
System.out.println("表的内容");
while(rs.previous()) {
System.out.print("品牌: "+rs.getString("Mobile_Brand")+", ");
System.out.print("销量: "+rs.getString("Unit_Sale"));
System.out.println("");
}
极客教程