温馨提示×

如何将ResultSet转换为List

小樊
86
2024-10-15 10:22:56
栏目: 编程语言

要将 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 对象中并返回。

0