0

我有那些桌子

   table product(id,name)
   table component(id,name,quantity)
   table_product_component(p_id,C_id)

一个产品可以有多个组件,一个组件可以属于多个产品。

如何执行 JOIN 查询并获取显示产品名称、组件名称和数量的 ResultSet?

当我执行 sql 查询以返回这些查询时,我通常将其存储在 ArrayList 中,因此在这种情况下,我创建了一个新的 itemline 对象,该对象将存储 Product、Component 类型。然后我可以将查询结果存储在 ArrayList 中。那么我可以简单地编写逻辑以在数量为 0 时显示通知等?

问题是我从未使用过像 table_product_component(p_id,C_id) 这样的视图或关系表,所以我不确定如何查询数据集以获得我想要的结果

欢迎任何想法,方法,代码,理论来帮助我解决这个问题。

我实际上也需要 servlet/JSP 逻辑

谢谢你。

4

1 回答 1

0

所以我以某种方式解决了这个问题。我用jsp中的java做了

                  <%
            Cart cart = (Cart) session.getAttribute("cart");
            List<LineItem> items = cart.getItems();
            for (LineItem item : items) {
            Product product = item.getProduct();


        %> 

        <tr> 
            <td> 
                <form action="<%=response.encodeURL("DisplayCart")%>"> 
                    <input type="hidden" name="productId"  
                           value="<%=product.getId()%>"> 
                    <input type="text" size=2 name="quantity"  
                           value="<%=item.getQuantity()%>"> 
                    <input type="submit" value="Update"> 
                </form> 
            </td> 
            <td> 
                <%=product.getDescription()%> 
            </td>
            <td><%=product.getPrice()%></td>
            <td> 
                <form action="<%= response.encodeURL("DisplayCart")%>"> 
                    <input type="hidden" name="productId"  
                           value="<%=product.getId()%>"> 
                    <input type="hidden" name="quantity"  
                           value="0"> 
                    <input type="submit" value="RemoveButton"> 
                </form> 
            </td>
        <td>           
       <%
        String p = product.getId();        
        List<String> pcs = PcDb.selectCidFromPc(p);
        for (String temp : pcs) {

        Component component = ComponentDb.selectComponent(temp);
        int c = component.getQuantity(); 
        if(c==0){
        out.println("Product is not in stock at the moment, expect delays");
        }
        }
        %>  
        </td>
        </tr> 

        <% }%> 
于 2012-09-19T18:21:17.197 回答