8.参数绑定-数组类型(传智播客)

需求:通过数组批量删除商品信息

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层开发

//ItemsService
//通过数组批量删除商品信息
int deleteItemByIds(ItemsCustom itemsCustom) throws Exception;
//ItemsServiceImpl
//通过数组批量删除商品信息
@Override
public int deleteItemByIds(ItemsCustom itemsCustom) throws Exception {
    return itemsMapperCustom.deleteItemByIds(itemsCustom);
}

3.dao层开发

//mapper接口
//通过数组批量删除商品信息
int deleteItemByIds(ItemsCustom itemsCustom) throws Exception;
//sql映射文件
<!--通过数组批量删除商品信息-->
<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>
//pojo类
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>

猜你喜欢

转载自blog.csdn.net/u010286027/article/details/84861839
今日推荐