zoukankan      html  css  js  c++  java
  • Mybatis报错:Parameter 'list' not found. Available parameters are [groupList, param1]

    GroupDao.java 里面定义的方法:

    void batchInsertLog(@Param("groupList") List<MktPromotionIntegralLog> groupList);

    修改前的GroupMapper.xml

    <insert id="batchInsertLog" parameterType="java.util.List">
      INSERT INTO table
      (ps_id,goods_id,item_number,goods_name)
      values
      <foreach collection="list" item="log" index="groupList" separator=",">
        (#{log.ps_id},#{log.goods_id},#{log.item_number},#{log.goods_name})
      </foreach>
    </insert>

    执行batchInsertLog方法会报错:

    Parameter 'list' not found. Available parameters are [groupList, param1]

    修改后的GroupMapper.xml

    <insert id="batchInsertLog" parameterType="java.util.List">
      INSERT INTO table
      (ps_id,goods_id,item_number,goods_name)
      values
      <foreach collection="groupList" item="log" index="groupList" separator=",">
        (#{log.ps_id},#{log.goods_id},#{log.item_number},#{log.goods_name})
      </foreach>
    </insert>

    修改后报错问题得以解决.

    产生这个问题的原因是由于一直认为 foreach 里面的 collection 应该放的是 java.util.List 之类的,但其实应该是我们与Dao里面 @Param("groupList")  绑定的参数名一致,如果没有使用 @Param ,修改前的修改前的GroupMapper.xml也是不会有问题的.

  • 相关阅读:
    ACM-ICPC 2018 南京赛区网络预赛J. Sum
    ACM-ICPC 2018 南京赛区网络预赛 L. Magical Girl Haze(分层dijkstra)
    51nod1246 罐子和硬币
    UVALive
    CodeForces
    CodeForces
    hdu3861(tarjan缩点+最小路径覆盖)
    hdu1072(dfs和bfs)
    51nod1352 集合计数(扩展欧几里得)
    Cmder如何调整命令行字体大小
  • 原文地址:https://www.cnblogs.com/zhangqian27/p/6842430.html
Copyright © 2011-2022 走看看