ResultSet 遍历要点
- executeQuery 返回 ResultSet,初始游标在第一行前
- while (rs.next()) 逐行移动,没有下一行就退出
- getInt/getString/getDouble 按列名或序号取值
- 列名要和 SQL 里 SELECT 的字段对应,别名也认
- 取完先 rs.close() 再关 Statement,顺序别反
- 结果集很大时只取需要的列,别 SELECT * 占内存
ResultSet 遍历示例
String sql = "SELECT id, name, price FROM product";
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(sql);
while (rs.next()) {
int id = rs.getInt("id");
String name = rs.getString("name");
double price = rs.getDouble("price");
System.out.println(id + " " + name + " " + price);
}
rs.close();
stmt.close();
避坑提醒:字段类型用错 getter 会抛 SQLException,比如用 getInt 取 varchar 列;类型对不上时优先按数据库列类型取。