java基礎知識總結一
阿新 • • 發佈:2018-11-02
java基礎知識總結一
MultiValueMap<String, String> stringMultiValueMap = new LinkedMultiValueMap<>();
// 新增Key為name的
stringMultiValueMap.add("name", "yolanda");
stringMultiValueMap.add("name", "yanzhenjie");
private List<ExportAllOrder> constructDetailData(List<ExportAllOrder> listOrder) { final Map<Long, OrderAllGoodsSpecVo> integerOrderAllGoodsSpecVoMap = orderMapper.listAllBossOrderGoodsSpec(); List<ExportAllOrder> groupList = new ArrayList<ExportAllOrder>(); //主要看下面這一行,設定LinkedHashMap(有序的map),不在使用預設的HashMap(無序) listOrder.stream().collect(Collectors.groupingBy(ExportAllOrder::getOrderCode, LinkedHashMap::new, Collectors.toList())).forEach((orderCode, orderListByorderCode) -> { final int[] i = {0}; orderListByorderCode.stream().forEach(o -> { //保留父訂單的資料,清空子訂單資料 if (i[0] != 0) { o.setOrderCode(""); o.setCustomerNickName(""); o.setShippingPerson(""); o.setShippingPhone(""); o.setShippingMobile(""); o.setShippingProvince(""); o.setShippingCity(""); o.setShippingCounty(""); o.setShippingAddress(""); o.setShippingPostcode(""); o.setExpressPrice(null); o.setOrderPrice(null); o.setCustomerRemark(""); o.setRemark(""); o.setOrderLinePay(null); o.setInfoRealname(""); o.setWxNo(""); o.setOrderStatus(""); o.setOrderLinePayStr(""); o.setIsExamine(""); o.setAgainBuy(""); o.setBackOrderStatus(""); } if (integerOrderAllGoodsSpecVoMap.containsKey(o.getGoodsInfoId())) { o.setSpecInfo(integerOrderAllGoodsSpecVoMap.get(o.getGoodsInfoId()).getSpecInfo()); } i[0]++; groupList.add(o); }); }); return groupList; }
SELECT goods_info.goods_info_id, GROUP_CONCAT(goods_spec.spec_name,":",goods_info_rele_spec_detail.spec_value_remark) specInfo FROM np_goods_info goods_info INNER JOIN np_goods goods ON goods_info.goods_id = goods.goods_id INNER JOIN np_goods_info_rele_spec_detail goods_info_rele_spec_detail ON goods_info.goods_info_id = goods_info_rele_spec_detail.goods_info_id INNER JOIN np_goods_spec goods_spec ON goods_info_rele_spec_detail.spec_id = goods_spec.spec_id GROUP BY goods_info.goods_info_id;
- 先查詢資料在處理資料,不要查詢資料之後,資料不夠時在處理資料中(迴圈中)再次查詢