ResultSet 转为 List<Map> ResultSet 转为 List<Map> 是一种常见的数据处理操作。在 Java 中,使用 JDBC 连接数据库时,通常会返回一个 ResultSet 对象,该对象包含了查询结果集的所有记录。为了方便数据处理和使用,我们需要将 ResultSet 转为 List<Map>,以便于后续的数据处理和展示。 下面是将 ResultSet 转为 List<Map> 的实现代码: ```java public static List<Map<String,Object>> ResultSetToList(ResultSet rs) throws SQLException { List<Map<String,Object>> results = new ArrayList<Map<String,Object>>(); ResultSetMetaData rsmd = rs.getMetaData(); int colCount = rsmd.getColumnCount(); List<String> colNameList = new ArrayList<String>(); for (int i = 0; i < colCount; i++) { colNameList.add(rsmd.getColumnName(i + 1)); } while (rs.next()) { for (int i = 0; i < colCount; i++) { Map<String, Object> map = new HashMap<String, Object>(); String key = colNameList.get(i); Object value = rs.getString(colNameList.get(i)); map.put(key, value); results.add(map); } } return results; } ``` 在上面的代码中,我们首先获取了 ResultSet 的元数据(ResultSetMetaData),然后获取了查询结果集的列数(getColumnCount)。接着,我们遍历每一列,获取列名,并将其添加到列表中。然后,我们遍历查询结果集的每一行,使用 Map 对象来存储每一列的值,并将其添加到结果列表中。 使用 List<Map> 来存储查询结果集的优点是: 1. 便于数据处理:List<Map> 可以方便地对查询结果集进行处理和操作。 2. 便于数据展示:List<Map> 可以方便地将查询结果集展示在 GUI 组件中,如 JTable、DataGridView 等。 在实际开发中,我们可以根据需要对 ResultSetToList 方法进行修改和扩展,以满足不同的业务需求。 知识点: 1. ResultSet:Java 中的 ResultSet 对象是 JDBC 连接数据库时返回的查询结果集对象。 2. ResultSetMetaData:ResultSetMetaData 是 ResultSet 对象的元数据,提供了查询结果集的元数据信息,如列名、列类型等。 3. getColumnCount():getColumnCount() 方法返回查询结果集的列数。 4. getColumnName():getColumnName() 方法返回查询结果集的列名。 5. getString():getString() 方法返回查询结果集的字符串值。 6. HashMap:HashMap 是 Java 中的一种 Map 实现,用于存储键值对。 7. ArrayList:ArrayList 是 Java 中的一种 List 实现,用于存储对象集合。 8. SQLException:SQLException 是 Java 中的异常类,用于抛出数据库操作异常。
- 粉丝: 39
- 资源: 377
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助