文档章节

mybatis 批量增加 Parameter '__frch_item_0' not found. Available parameters are [list]

RobertZhou
 RobertZhou
发布于 2017/04/07 11:17
字数 346
阅读 150
收藏 0

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

例子

 

[sql] view plaincopy

  1.   <insert id="insertBatchPicAttachment"  parameterType="java.util.List">  
  2.        insert into pic_attachment   
  3.           (pic_id,pic_udid,relate_id,relate_code,relate_code_dtl,pic_name,pic_url,pic_remote_url)   
  4.        values  
  5.        <foreach collection="list"  item="item" index="index" separator=",">  
  6.           (#{item.picId},#{item.picUdid},#{item.relateId},#{item.relateCode},#{item.relateCodeDtl},#{item.picName},#{item.picUrl},#{item.picRemoteUrl})  
  7.        </foreach>      
  8.        <selectKey resultType="java.lang.Integer" order="AFTER" keyProperty="picId">  
  9.             select LAST_INSERT_ID();  
  10.        </selectKey>   
  11.     </insert>  

 

 

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

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

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

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

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

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

还有一种情况是item的属性不对,我在使用通用Map的时候,发现此问题。

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

本文转载自:http://blog.csdn.net/zljjava/article/details/47038035

共有 人打赏支持
RobertZhou
粉丝 8
博文 133
码字总数 17031
作品 0
广州
程序员
参数为集合时,mybatis3 分页查询问题及其对应的解决方法

当参数为集合时,使用mybatis3分页查询时抛出的异常: UserMapperTest.java的部分代码(测试用例): UserMapper.java部分代码: UserMapper.xml代码(错误的用法示范): 执行测试用例后,后...

有钱有爱
2016/06/17
77
0
深入了解MyBatis参数

深入了解MyBatis参数 相信很多人可能都遇到过下面这些异常: "Parameter 'xxx' not found. Available parameters are [...]" "Could not get property 'xxx' from xxxClass. Cause: "The exp......

Liuzh_533
2015/03/02
0
10
MyBatis 是不是不支持 批量插入 id自增长的数据?

MyBatis 是不是不支持 批量插入 id自增长的数据? 就是批量插入的时候,insert 属性useGeneratedKeys="true" keyProperty="id",如果insert into article (param1,param2,param3) values (X,...

Flyer_cao
2014/05/17
2.7K
2
Mybatis3.3.x技术内幕(十五):Mybatis之foreach批量insert,返回主键id列表(修复Mybatis返回null的bug)

Mybatis在执行批量插入时,如果使用的是for循环逐一插入,那么可以正确返回主键id。如果使用动态sql的foreach循环,那么返回的主键id列表,可能为null,这让很多人感到困惑;本文将分析问题产...

祖大俊
2016/05/13
9.6K
17
There is no getter for property named '__frch_status_0' in

定义了一个javabean,当做一个参数传入mybatis中 javabean: import java.util.Date;import java.util.List;public class BidCondition extends BaseCondition { 一大串get/set方法 } 使用其中......

宿小帅
2016/10/27
160
0

没有更多内容

加载失败,请刷新页面

加载更多

【大福利】极客时间专栏返现二维码大汇总

我已经购买了如下专栏,大家通过我的二维码你可以获得一定额度的返现! 然后,再给大家来个福利,只要你通过我的二维码购买,并且关注了【飞鱼说编程】公众号,可以加我微信或者私聊我,我再...

飞鱼说编程
今天
1
0
Spring5对比Spring3.2源码之容器的基本实现

最近看了《Spring源码深度解析》,该书是基于Spring3.2版本的,其中关于第二章容器的基本实现部分,目前spring5的实现方式已有较大改变。 Spring3.2的实现: public void testSimpleLoad(){...

Ilike_Java
今天
1
0
【王阳明心学语录】-001

1.“破山中贼易,破心中贼难。” 2.“夫万事万物之理不外于吾心。” 3.“心即理也。”“心外无理,心外无物,心外无事。” 4.“人心之得其正者即道心;道心之失其正者即人心。” 5.“无...

卯金刀GG
今天
2
0
OSChina 周三乱弹 —— 我们无法成为野兽

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @ _刚刚好: 霸王洗发水这波很骚 手机党少年们想听歌,请使劲儿戳(这里) hahahahahahh @嘻酱:居然忘了喝水。 让你喝可乐的话, 你准忘不了...

小小编辑
今天
10
0
vm GC 日志 配置及查看

-XX:+PrintGCDetails 打印 gc 日志 -XX:+PrintTenuringDistribution 监控晋升分布 -XX:+PrintGCTimeStamps 包含时间戳 -XX:+printGCDateStamps 包含时间 -Xloggc:<filename> 可以将数据保存为......

Canaan_
昨天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部