您的位置:首页 > 大数据 > 人工智能

Parameter '__frch_item_0' not found. Available parameters are [list]问题

2017-01-04 16:11 603 查看
鄙人才疏学浅,但是还是想吐槽下,mybatis这异常说明确实让人费解。

网上关于这个问题说明不少,基本是关于collection属性值有误,或是在使用list的元素对象中的成员变量时 搞错了名字之类的。

我是盯着看了好一会儿 也没发现我的代码里出现了上述错误,还以为mybatis的当前版本无法正常遍历list。[汗]

但是查bug贵在坚持,最后还是找出了问题:

我其实就是搞错了元素对象中的成员变量名,因为这里的名字大小写敏感!

仔细想想,这里是必须敏感的,如果java对象中,两个成员变量的名字只有大小写的区别,但在mybatis中不区分大小写的话,那这里岂不是处理不了了。

这里还是放上代码吧

<insert id="insertBatch" parameterType="java.util.List">
insert into BIGTABLE (PID)
<foreach collection="list" item="item" open="(" separator="union" close=")">
select #{item.pid,jdbcType=DECIMAL} from dual
<!-- 上面的pid在修改之前是PID,导致了标题所述异常 -->
</foreach >
</insert>

public class BigTable {
private Long pid;

public Long getPid() {
return pid;
}

public void setPid(Long pid) {
this.pid = pid;
}
}
工作中,像这样让人哭笑不得的问题多得是,还是得有个好心态啊。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mybatis java
相关文章推荐