关于mybatis的parameterType和resultType问题

来源:8-1 商品添加之Dao层的实现

小毛6823960

2020-07-04

老师,在ProductImgDao.java中

    /**
     * 批量添加商品详情图片
     * @param productImgList
     * @return
     */
    int batchInsertProductImg(List<ProductImg> productImgList);

这个方法的返回值为int参数为集合,参数为List productImgList,那么ShopCategoryDao.xml中为什么是

    <insert id="batchInsertProductImg" parameterType="java.util.List">
        INSERT INTO
        tb_product_img(img_addr,img_desc,priority,
        create_time,product_id)
        VALUES
        <foreach collection="list" item="productImg" index="index"
                 separator=",">
            (
            #{productImg.imgAddr},
            #{productImg.imgDesc},
            #{productImg.priority},
            #{productImg.createTime},
            #{productImg.productId}
            )
        </foreach>
    </insert>

这里parameterType不应该是ProductImg的全类名吗?而且ProductImgDao.java中的方法是有返回值的,为什么这里没有写resultType

写回答

1回答

翔仔

2020-07-05

同学好,不是呀,入参的类型就是List,而List接受泛型,也就是支持ProductImg这个类型,所以parameterType是List。此外,因为只有单一的参数,所以parameterType和ResultType可写可不写,mybatis会自动转换

0
0

Java双版本(SSM到SpringBoot)校园商铺全栈开发

SSM商铺V1.0,解决毕设痛点;SpringBoot商铺V2.0,满足工作刚需

5113 学习 · 8144 问题

查看课程