shop--8.商品类别--批量操作(后端)

Posted SkyeAngel

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shop--8.商品类别--批量操作(后端)相关的知识,希望对你有一定的参考价值。

1.批量添加

dao层

/**
     * 批量新增商品类别
     * @param productCategoryList
     * @return 影响的行数
     */
    public int batchInsertProductCategory(List<ProductCategory> productCategoryList);

  

在编写mapper时,因为传入的是List,所以要写的parameterType=“java.util.List”

然后需要使用<foreach来进行批量插入

<!--public int batchInsertProductCategory(List<ProductCategory> productCategoryList);-->
    <insert id="batchInsertProductCategory" parameterType="java.util.List">
        INSERT INTO
        product_category(product_category_name, priority, create_time, shop_id)
        VALUES
        <foreach collection="list" item="productCategory" index="index" separator=",">
            (
            #{productCategory.productCategoryName},
            #{productCategory.priority},
            #{productCategory.createTime},
            #{productCategory.shopId}
            )
        </foreach>
    </insert>

  

service层

/**
     * 批量添加商品类别
     * @param productCategoryList
     * @return
     */
    public ProductCategoryExecution batchAddProductCategory(List<ProductCategory> productCategoryList);

  

impl

@Override
    @Transactional
    public ProductCategoryExecution batchAddProductCategory(List<ProductCategory> productCategoryList) {
        if(productCategoryList != null && productCategoryList.size() >= 0){
            int effecNum = productCategoryDao.batchInsertProductCategory( productCategoryList );
            try{
                if(effecNum <= 0){
                    throw new ProductCategoryException( "商品类别创建失败" );
                }else{
                    return new ProductCategoryExecution( ProductCategoryEnum.SUCCESS);
                }
            } catch (Exception e){
                throw new ProductCategoryException("batchAddProductCategory Error: " + e.getMessage());
            }
        } else{
            return new ProductCategoryExecution(ProductCategoryEnum.EMPTY_LIST);
        }
    }

  

Controller层

@RequestMapping(value="addproductcategories", method = RequestMethod.POST)
    @ResponseBody
    public Map<String, Object> addProductCategories(@RequestBody List<ProductCategory> productCategoryList,
                                                    HttpServletRequest request){
        Map<String, Object> modelMap = new HashMap<>();
        Shop currentShop = new Shop();
        currentShop.setShopId(1L);
        for(ProductCategory productCategory : productCategoryList){
            productCategory.setShopId( currentShop.getShopId() );
        }
        if(productCategoryList != null && productCategoryList.size() > 0){
            ProductCategoryExecution productCategoryExecution = null;
            try{
                productCategoryExecution = productCategoryService.batchAddProductCategory( productCategoryList );
                if(productCategoryExecution.getState() == ProductCategoryEnum.SUCCESS.getState()){
                    modelMap.put( "success", true );
                }else{
                    modelMap.put( "success", false );
                    modelMap.put( "errMsg",  productCategoryExecution.getStateInfo());
                }
            }catch(ProductCategoryException e){
                modelMap.put( "success", false );
                modelMap.put( "errMsg",  e.getMessage());
                return modelMap;
            }
        }else{
            modelMap.put( "success", false );
            modelMap.put( "errMsg",  "请至少输入一个商品类别");
        }
        return modelMap;
    }

  

 

以上是关于shop--8.商品类别--批量操作(后端)的主要内容,如果未能解决你的问题,请参考以下文章

校园商铺-7商品类别模块-5商品类别删除后端开发

Hibernate批量抓取

shop--8.店铺列表展示--Dao层

第三篇商城系统-商品类别管理

python商城项目总结

在 WooCommerce 中将购物车商品限制为来自同一产品类别