java - 从多个结果集中检索数据到单个 java 列表中

标签 java spring list

我有以下三个结果集和一个列表。如何在不使用三个 while(rs1.next()) 的情况下迭代三个结果集并将数据返回到列表。

public Optional<List<StudentDetails>> getStudDetails(String id)
    {
        List<StudentDetails> stud= new ArrayList<StudentDetails>();
        ResultSet rs1 = (ResultSet) storedProcedureCall.getObject(4);
        ResultSet rs2 = (ResultSet) storedProcedureCall.getObject(5);
        ResultSet rs3 = (ResultSet) storedProcedureCall.getObject(6);

    }

最佳答案

如果目标是避免为所有 ResultSet 编写相同的代码(3 个循环),您可以创建一个循环遍历 ResultSet 的方法,生成 每行的 StudentDetails 对象并将其添加到列表中。

这是一个例子:

public Optional<List<StudentDetails>> getStudDetails(String id){
    List<StudentDetails> stud= new ArrayList<StudentDetails>();
    ResultSet rs1 = (ResultSet) storedProcedureCall.getObject(4);
    ResultSet rs2 = (ResultSet) storedProcedureCall.getObject(5);
    ResultSet rs3 = (ResultSet) storedProcedureCall.getObject(6);
    addStudentDetails(stud, rs1);
    addStudentDetails(stud, rs2);
    addStudentDetails(stud, rs3);
}

private static void addStudentDetails(List<StudentDetails> list, ResultSet rs){
    while(rs.next()){
        list.add(new StudentDetails(rs.get.....));
    }
}

关于java - 从多个结果集中检索数据到单个 java 列表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46823901/

相关文章:

java - 在成员变量中使用时注入(inject)的 Bean 未实例化

java - 连接 JCombo 整数值并将其转换为日期

java - 在 karaf 中,有没有办法通过 JMX 获取 bundle 的 spring 框架状态?

python - 尝试对 .append 使用多个参数,无论如何?

java - 使用提交但在 set 和 get 方法之后触发 valueChangeListener

java - Java Collection.sort 错误

java - Spring Core如何使用Spring AOP?

java - 如何为 Spring Data 中的类配置 MongoDb 集合名称

jquery - 悬停不适用于列表中的项目

list - 如何在序言中对列表中的元素进行模式匹配?