ResultSet 转 Map<String, Object> 或者 List<Map<String, Object>>
时间: 2024-03-12 15:41:47 浏览: 305
ResultSet 是 Java 中用于表示数据库查询结果的接口。如果你想将 ResultSet 转换为 Map<String, Object> 或者 List<Map<String, Object>>,可以按照以下步骤进行操作:
1. 将 ResultSet 转换为 Map<String, Object>:
首先,创建一个空的 Map<String, Object> 对象。然后,使用 ResultSet 的 getMetaData() 方法获取结果集的元数据信息,包括列名和列数。接下来,使用 ResultSet 的 next() 方法遍历结果集的每一行数据。在遍历的过程中,使用 ResultSet 的 getObject() 方法获取每一列的值,并将其存储到 Map 中,以列名作为键,列值作为值。最后,将每个 Map 添加到 List 中,即可得到 List<Map<String, Object>>。
下面是一个示例代码:
```java
ResultSet resultSet = ...; // 假设已经获取到 ResultSet 对象
List<Map<String, Object>> resultList = new ArrayList<>();
try {
ResultSetMetaData metaData = resultSet.getMetaData();
int columnCount = metaData.getColumnCount();
while (resultSet.next()) {
Map<String, Object> rowMap = new HashMap<>();
for (int i = 1; i <= columnCount; i++) {
String columnName = metaData.getColumnName(i);
Object columnValue = resultSet.getObject(i);
rowMap.put(columnName, columnValue);
}
resultList.add(rowMap);
}
} catch (SQLException e) {
e.printStackTrace();
}
```
2. 将 ResultSet 转换为 List<Map<String, Object>>:
如果你只需要将 ResultSet 转换为 List<Map<String, Object>>,可以直接使用上述代码中的 resultList。
希望以上解答能够帮助到你!如果你还有其他问题,请继续提问。
阅读全文