zoukankan      html  css  js  c++  java
  • 当在mybatis用到foreach的时候异常

    当在mybatis用到foreach的时候,会报这个错误Parameter '__frch_item_0' not found. Available parameters are [list]会出现的几种解决方案

    例子

     

    copy
     
      < id=  parameterType=>  
    •          pic_attachment   
    •   
    •   item= = separator=>  
    •           (#{item.picId},#{item.picUdid},#{item.relateId},#{item.relateCode},#{item.relateCodeDtl},#{item.picName},#{item.picUrl},#{item.picRemoteUrl})  
    •  = keyProperty=>  
    •  LAST_INSERT_ID();  
    •        </selectKey>   
    • >  

     

    1.查看parameterType的类型是不是java.util.List类型,如果是的话,看foreach 的collection属性是不是list,

        因为 传递一个 List 实例或者数组作为参数对象传给 MyBatis,MyBatis 会自动将它包装在一个 Map 中,用名称在作为键。List 实例将会以“list” 作为键,而数组实例将会以“array”作为键 

    2.看一下foreach里面的值有没有传递进来 

    3.看foreach里面的名称字段是否写错 

    4.还有就是我用Mybatis的时候,用mysql的值插入自动增长值,里面的key我在数据库中没有设置自动增长,然后我又用了selectkey,所以也会出现这种情况

    --------------------------------------------------------------------

    还有一种情况是 通用Map的好处是减少了对Bean的书写,问题是如果数据库的查询结果为Null,对应属性的key也就不存在。

  • 相关阅读:
    题解:CF1494 F. Delete The Edges
    「CEOI2011」选做
    题解:「CEOI2017」Chase
    学习笔记:《具体数学》问题整理
    题解:「COCI2019」 Transport
    【做题记录】位运算
    线性DP
    虚树 virtual-tree
    三元环计数
    长链剖分
  • 原文地址:https://www.cnblogs.com/ChenLLang/p/5341476.html
Copyright © 2011-2022 走看看