ResultSet 转 Map<String, Object> 或者 List<Map<String, Object>>
时间: 2024-03-12 07:41:47 浏览: 411
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。
希望以上解答能够帮助到你!如果你还有其他问题,请继续提问。
阅读全文
相关推荐














返回
单号:
g
i
d
<
/
s
p
a
n
<
/
d
i
v
< d i v c l a s s
"
r
i
g
h
t
i
n
f
o
"
< t a b l e c l a s s
"
t
a
b
l
e
l
i
s
t
"
<
t
h
e
a
d
<
t
r
<
t
h
编号
<
/
t
h
<
t
h
名称
<
/
t
h
<
t
h
价格
<
/
t
h
<
t
h
数量
<
/
t
h
<
t
h
购买时间
<
/
t
h
<
/
t
r
<
/
t
h
e
a
d
<
t
b
o
d
y
< c : f o r E a c h i t e m s
"
gid编号 名称 价格 数量 购买时间 <c:forEachitems=“{somerkqk }” var=“xsqk” varStatus=“status”>
s
t
a
t
u
s
.
i
n
d
e
x
+
1
<
/
t
d
<
t
d
status.index+1 {xsqk.name }
x
s
q
k
.
p
r
i
c
e
<
/
t
d
<
t
d
xsqk.price {xsqk.sl }
${xsqk.dtime }
</c:forEach>
用这些数据在MyEclipse加一个分析数据页面,代码简单一些,使用Servlet 2.5,DAO叫做lssRkqkDAO
<servlet>
<servlet-name>AnalysisServlet</servlet-name>cvc-identity-constraint.4.1: Duplicate unique value
