1. 程式人生 > >6.引數繫結-陣列型別(傳智播客)

6.引數繫結-陣列型別(傳智播客)

需求:通過陣列批量刪除商品資訊

1.controller層開發

//通過陣列批量刪除商品資訊
@RequestMapping(value = "/deleteItemsByItemIds")
public ModelAndView deleteItemsByItemIds(Integer [] items_id) throws Exception{
    ModelAndView modelAndView = new ModelAndView();
    //將陣列轉換為列表
    List<Integer> integerList = Arrays.asList(items_id);
    ItemsCustom itemsCustom = new ItemsCustom();
    itemsCustom.setIntegerList(integerList);
    int rs = itemsService.deleteItemByIds(itemsCustom);
    if(rs != 0) {
        modelAndView.setViewName("items/success");
    }else{
        modelAndView.setViewName("items/failed");
    }
    return modelAndView;
}

2.service層開發

//通過陣列批量刪除商品資訊
int deleteItemByIds(ItemsCustom itemsCustom) throws Exception;
//通過陣列批量刪除商品資訊
@Override
public int deleteItemByIds(ItemsCustom itemsCustom) throws Exception {
    return itemsMapperCustom.deleteItemByIds(itemsCustom);
}

3.dao層開發

//通過陣列批量刪除商品資訊
int deleteItemByIds(ItemsCustom itemsCustom) throws Exception;
<!--通過陣列批量刪除商品資訊-->
<delete id="deleteItemByIds" parameterType="itemsCustom">
    delete from item
    <where>
        <if test="integerList!=null and integerList.size>0">
            <foreach collection="integerList" open=" and item_id in( " close=" ) " item="item_id" separator="," >
                #{item_id}
            </foreach>
        </if>
    </where>
</delete>
public class ItemsCustom extends Items {
    private int id;
    private List<Integer> integerList;
    //get和set方法......
}

4.web層開發

<head>
    <script type="text/javascript">
        function deleteItemsByIds(){
            document.itemQueryForm.action="${pageContext.request.contextPath}/items/deleteItemsByItemIds";
            document.itemQueryForm.submit();
        }
    </script>
</head>
<form id="itemQueryForm" name="itemQueryForm" method="post">
    查詢條件:
    <table width="100%" border=1>
        <tr>
            <td><input type="text" name="itemsCustom.itemName"/></td>
            <td><input type="submit" value="查詢" onclick="queryItemByItemName()"/></td>
            <td><input type="button" value="批量刪除" onclick="deleteItemsByIds()"/></td>
        </tr>
    </table>
    商品列表:
    <table width="100%" border=1>
        <tr>
            <td>選擇</td>
            <td>商品編號</td>
            <td>商品名稱</td>
            <td>商品價格</td>
            <td>商品描述</td>
            <td>操作</td>
        </tr>
        <c:forEach items="${itemsList}" var="item">
            <tr>
                <td><input type="checkbox" name="items_id" value="${item.itemId}"/></td>
                <td>${item.itemId}</td>
                <td>${item.itemName}</td>
                <td>${item.itemPrice}</td>
                <td>${item.itemDetail}</td>
                <td><a href="${pageContext.request.contextPath}/items/selectItem?item_id=${item.itemId}">修改</a></td>
            </tr>
        </c:forEach>
    </table>
</form>