? ? ? ?public Map<Order,Items[]> findOrderInfo(int id){ ?//將多表查詢信息的一記錄封裝到一個map中? ? ? CustomerDaoImp cdi =new CustomerDaoImp();? ? ? Map<Order,Items[]> map = new HashMap<Order,Items[]>(20);? ? ? Order order =new Order(); ? //封裝訂單的頭信息? ? ? Items[] its ?= new Items[20]; ? ? //數組裝有多個商品,及對應數量。Items有fg,和count屬性對應商品和數量? ? ? try { PreparedStatement pst = ? DbConn.getConnection().prepareStatement("select * from order_info o join Order_goods_1 g on o.id=g.id where o.id=?"); ? ? pst.setInt(1, id); ? ? ResultSet rs =pst.executeQuery(); ? ? if(rs.next()){ ? ? order.setOnum(rs.getString("onum")); ? ? order.setOname(rs.getString("oname")); ? ? order.setOcardnum(rs.getString("ocardnum")); ? ? order.setOaddr(rs.getString("oaddr")); ? ? order.setOphone(rs.getString("ophone")); ? ? order.setCost(rs.getInt("cost")); ? ? order.setTime(rs.getTimestamp("crea_at")); ? ? order.setInfo(rs.getString("oinfo")); ? ? for (int i = 1; i < its.length+1; i++) { //此循環獲取數量不是0的商品 Items it =new Items(); byte m =rs.getByte("goods"+i); it.setCount(m); if(m>0){ int j =0; it.getFg().setName(cdi.findNameById(i)); it.getFg().setPrice(cdi.findPriceById(i)); it.getFg().setSpec(cdi.findSpecById(i)); its[j]=it; j++; } } ? ? map.put(order, its);? ? ? }? ? ? } catch (SQLException e) { System.out.println("com.jdc.dao.ManagerDao.java"); }? ? ? return map;? ? ? ?}}
添加回答
舉報
0/150
提交
取消