要将 ResultSet 转换为 List,您需要遍历 ResultSet 中的每一行,并将每一行的数据添加到一个 List 对象中
import java.sql.*;
import java.util.*;
public class ResultSetToList {
public static void main(String[] args) {
// 假设您已经从数据库查询得到了一个 ResultSet 对象
ResultSet resultSet = ...;
List<Map<String, Object>> list = resultSetToList(resultSet);
// 打印转换后的 List
for (Map<String, Object> row : list) {
System.out.println(row);
}
}
public static List<Map<String, Object>> resultSetToList(ResultSet resultSet) throws SQLException {
List<Map<String, Object>> list = new ArrayList<>();
ResultSetMetaData metaData = resultSet.getMetaData();
int columnCount = metaData.getColumnCount();
while (resultSet.next()) {
Map<String, Object> row = new HashMap<>(columnCount);
for (int i = 1; i <= columnCount; i++) {
row.put(metaData.getColumnName(i), resultSet.getObject(i));
}
list.add(row);
}
return list;
}
}
在这个示例中,我们首先获取 ResultSet 的元数据(列名和数据类型),然后遍历每一行,并将每一行的数据存储在一个 Map 对象中。最后,我们将所有的 Map 对象添加到一个 List 对象中并返回。