如何在bean中设置2列表并返回列表

时间:2018-12-28 03:55:27

标签: java spring spring-mvc

Bean 1具有一些属性和bean 2的列表,而bean 2具有一些属性和bean 3的列表。 我想在bean 2中设置列表3,在bean 1中设置列表2

我在3个表中加入了连接,结果集是3个表的组合,在Java中引用了这3个bean。

我正在bean 1中看到第一个表的数据 bean 2中的第二个表 和bean 3中的第三个表,但是我的返回类型是bean 1 因此,要从所有那里的bean使用列表返回数据。 我正在使用

从bean 3中表3的单个结果添加数据

bean3List.add(bean3); //在存在于bean 2的bean 3列表中添加bean 3数据

bean2.setBean3List(bean3List); //在bean 2中设置bean 3列表

bean2List.add(bean2); //将存在于bean 1的bean 2添加到bean 2列表中

bean1.setBean2List(bean2List); //在bean 1中设置bean 2列表

bean1List.add(bean1); //将bean 1添加到bean 1的返回类型列表中

return bean1List; //返回bean 1列表

我想要这样的json: 1是表1返回的数据 1,2是表2返回的数据 5、6、7、8是数据从表3返回 第一个结果集输出1

[1
   [  1
      2
    [ 5
      6
      7
      8
        ]
    ]
]

第二结果集输出2 1,2是表1返回的数据 1b,2b是表2返回的数据 5,6,7,8是数据从表3返回

[1
   [ 1b
    [ 5
      6
    ]
  ]
]
2[
    2b
    [ 7
      8
    ]
    ]
]

如何从下面的代码中获得这样的结果集

 bean 1:
    public class Bean1 {
     private Integer b1;
     private Integer b2;
     private List<Bean2> bean2List;
    assume setters and getters for b1, b2 here
    public List<Bean2> getBean2List() {
        return bean2List;
    }
    public void setBean2List(List<Bean2> bean2List) {
        this.bean2List = bean2List;
    }
}
bean 2:
public class Bean2 {
    private Integer b21;
    private Integer b22;
    private List<Bean3> bean3List;  
    assume setters and getters for b21, b22 here
    public List<Bean3> getBean3List() {
        return bean3List;
    }
    public void setBean3List(List<Bean3> bean3List) {
        this.bean3List = bean3List;
    }   
}
bean 3:
public class Bean3 {
    private Integer b31;
    private Integer b32;
setters and getters of b31 , b32    
}
// how to i write this code for above json?
main code:
public class Main {
    List<Bean1> bean1List = new ArrayList<>();
    public static void main(String[] args) {
        List<Bean2> bean2List = new ArrayList<>();
        List<Bean3> bean3List = new ArrayList<>();
        Bean1 bean1 = new Bean1();
        Bean2 bean2 = new Bean2();
        Bean3 bean3 = new Bean3();
        while(rs.next){
    // this two if not giving me exact output       
    if(bean1.getb1()!= null && (bean1.getb1() != rs.getInt("id")))
            {
                bean1 = new Bean1();
                bean1List = new ArrayList<>();
    if(bean2.getb11()!= null && (bean2.getb11() != rs.getInt("id")))
                {
                    bean2 = new Bean2();
                    bean3 = new Bean3();
                    bean2List = new ArrayList<>();
                    bean3List = new ArrayList<>();
                }
            }
            bean1.setb1(rs.getInt("id1"));
            bean1.setb2(rs.getInt("id2"));

            bean2.setb21(rs.getInt("id21"));
            bean2.setb22(rs.getInt("id22"));

            bean3.setb31(rs.getInt("id31"));
            bean3.setb32(rs.getInt("id32"));

            //how to write this code here to get expected output
            bean3List.add(bean3);
            bean2.setBean3List(bean3List);
            bean2List.add(bean2);
            bean1.setBean2List(bean2List);
            bean1List.add(bean1);
        }
    return bean1List;
    }}

`

0 个答案:

没有答案