Servlet处理多表联查结果



第一种:新建实体类的处理方式:
两表或多表联查的结果,放入到一个实体类中。这个实体类必须包含所有查询结果的内容。
缺点:建类麻烦,在多次表联查的情况下,使用很多实体类让代码显得繁琐
优点:存取值时比较方便
第二种:分别将查询的结果存放到各个实体类中,然后为每一个实体类新建集合放入(因为集合只能有一种泛型)。
因为函数的返回值只能是一个,所以我们需要将多个集合再次存放到一个集合中返回。
缺点:存取值很麻烦,至少涉及到三个集合的遍历。
优点:不需要新建实体类

例子:查询结果

                                    
                                           Resultset rs=ps.executeQuery();
					List<User> ulist=new ArrayList<User>();
					List<Manager> mlist=new ArrayList<Manager>();
					List<List> list=new ArrayList<List>();
 					while(rs.next()){
						User u=new User();
						u.setUname(rs.getString("uname"));
						u.setUpass(rs.getString("upass"));
						ulist.add(u);
						
						Manager m=new Manager();
						m.setMname(rs.getString("mname"));
						m.setMpaww=(rs.getString("mpass"));
						mlist.add(m);
					}
					list.add(ulist);
					list.add(mlist);
					req.setAttribute("list",list);
					req.getRequestDispatcher("xxx.jsp").forward(req,resp);



前端:
                                                List<List> list=(List<List>)req.getAttribute("list");
    						List<Managenr> mlist=list.get(1);
						List<User> ulist=list.get(0);
						for(int i=0;i<mlist.size();i++){
								mlist.get(i).getMname();
								ulist.get(i).getUname();
						}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值