这里传入参数类型为什么写这个parameterType="map"

这里传入参数类型为什么写这个parameterType="map"


<select id="selectCartByUserIdAndProductId" resultMap="BaseResultMap" parameterType="map">
        select
        <include refid="Base_Column_List"></include>
        from imooc_mall_cart
        where user_id = #{userId}
        and product_id = #{productId}
    </select>
为什么这么写呢


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕小尤 2022-06-14 17:08:17

同学你好,当有需要传递多个参数时,就可以为map(或Map),通过代码中设置的@Param值就可以获取传入的值。此处需要传递多个参数,所以设置为map。

祝学习愉快!

  • 提问者 平淡的坎坷 #1

    那不写 parameterType="map"是不是也没有什么影响?

    我的Mapper接口是这样的

    Cart selectCartByUserIdAndProductId(@Param("userId") Integer userId, @Param("productId") Integer productId);

    我的参数也没有map啊

    2022-06-15 09:37:55
  • 好帮手慕小尤 回复 提问者 平淡的坎坷 #2

    同学你好,是不可以去掉的,同学可以去掉测试代码试一下。在底层会将这两个添加到map集合中进行传递,同学可以理解为map表示传递了多个参数。如下所示:

    https://img1.sycdn.imooc.com//climg/62a9490d099c39fe08840052.jpg

    祝学习愉快!

    2022-06-15 10:52:17
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师