一次性获取`java.sql.ResultSet`行中的所有值

问题描述 投票:0回答:1

使用

java.sql.ResultSet
类,我想将一行中的所有单元格作为对象列表或对象数组获取,并推迟每个单元格的处理/获取,以考虑性能问题。方法如下:

Object obj = resultSet.getObject(i);

应该被调用

columnCount
次。

最快的方法是什么? / 为什么一个看似明显的功能缺失了?

java ojdbc
1个回答
3
投票

我想这可能会达到你想要的效果。它应该返回

ResultSet
当前行的所有列值。

List<Object> getValues(ResultSet resultSet) {
   ResultSetMetaData metadata = resultSet.getMetadata();
   int numberOfCols = metadata.getColumnCount();

   List<Object> values = new ArrayList<>();

   for(i=1; i <= numberOfCols; i ++) {
      values.add(resultSet.getObject(i));
   }

   return values;
}
© www.soinside.com 2019 - 2024. All rights reserved.