一、ResultSetMetaData
ResultSetMetaData是可用于获取关于 ResultSet 对象中列的类型和属性信息的对象,下面为ResultSetMetaData的一些方法: getColumnName(int column):获取指定列的名称 getColumnCount():返回当前 ResultSet 对象中的列数。 getObject(int column):用于获取获取指定列的值 getColumnTypeName(int column):检索指定列的数据库特定的类型名称。 getColumnDisplaySize(int column):指示指定列的最大标准宽度,以字符为单位。 isNullable(int column):指示指定列中的值是否可以为 null。 isAutoIncrement(int column):指示是否自动为指定列进行编号,这样这些列仍然是只读的。
二、 代码
public static List
<Map
<String, Object>> convertList(ResultSet rs
) {
List
<Map
<String, Object>> list
= new ArrayList<>();
try {
ResultSetMetaData md
= rs
.getMetaData();
int columnCount
= md
.getColumnCount();
while (rs
.next()) {
Map
<String, Object> rowData
= new HashMap<>();
for (int i
= 1; i
<= columnCount
; i
++) {
rowData
.put(md
.getColumnName(i
), rs
.getObject(i
));
}
list
.add(rowData
);
}
} catch (SQLException e
) {
log
.error("查询结果集转换List<Map<String,Object>>异常");
}
return list
;
}