1. 程式人生 > >for迴圈裡面進行資料庫查詢的處理

for迴圈裡面進行資料庫查詢的處理

public class {
	public static void main(String[] args) {

		List<ProductPop> list = productDao.getProudctList(map);//獲取產品列表

			if (list.size() > 0) {//如果列表為空

				Map<String, Object> map2 = new HashMap<String, Object>();

				List<String> proList =new ArrayList<String>();

				for (int i = 0; i < list.size(); i++) {

					ProductPop productPop = list.get(i);
					proList.add(productPop.getProduct_id());//把id放在新的list裡面

					if (searcher!=null) {
						map2.put("status", searcher.getStatus());
					}
				}

				map2.put("products_id",proList);//把裝id的list放在map裡面

				List<GoodsPop> goodsPop = productDao.queryGoodsList(map2);//獲取購物清單內容,map遍歷放在方法裡處理

				for (int i = 0; i < list.size(); i++) {

					ProductPop productPop = list.get(i);

					List<GoodsPop> goodsPopList=new ArrayList<GoodsPop>();

					for (GoodsPop goodsPop2 : goodsPop) {//list的超級迴圈

						if (productPop.getProduct_id().equals(goodsPop2.getProducts_id())) {
							//如果產品id和購物清單的id相同

							goodsPopList.add(goodsPop2);//新的購物清單生成
						}
					}
					productPop.setGoodsList(goodsPopList);//放入新的購物清單
				}
			}

			return list;
		}

	}