mybatis绑定异常?

mybatis中的部分代码:

<insert id="piLiang" parameter="java.util.list">
insert into salaryliushui
<foreach item="item" collection="list" open="(" separator="," close=")">

 <trim preifx="(" suffix=")" suffixOverrides=",">
   <if test="number != null and number != '' ">number,</if>

</foreach>
</insert>

报错:org.apache.ibaits.binging.BingingException:Parameter 'number'
not found;Avaliable parameters are [collection,list];

后来我想了下, 传入的list中封装了实体类,实体类中有number属性,不晓得为啥报错??

阅读 2.2k
2 个回答

用你定义的 item="item" ,item去.你的属性
例如#{item.number}

Avaliable parameters are [collection,list];就是说你只有list和collection这两个参数可以用,这两个其实是一个东西,都是代表你传进来了List。

对于List来说,你要获取某条数据的number,那你肯定不能用number,list.number。而是用 list.get(0).number这样的方式。

对于xml中,就是类似:

    <foreach item="item" collection="list" separator="," open="(" close=")" index="">
      #{item.number, jdbcType=NUMERIC}
    </foreach>
推荐问题