报错信息:Parameter 'Array' not found. Available parameters are [0, 1, 2, param3, param1, param2]错误
Dao定义接口方法:
int updateFlgBatch(@Param("flg") int flg,@Param("updateTime") Date updateTime,@Param("updateBy") int updateBy,@Param("id") Object[] id);
xml错误写法:
<update id="updateFlgBatch">
update t_market_price set flg=#{flg},update_time=#{updateTime},update_by=#{updateBy}
where id in
<foreach item="id" collection="array" open="(" separator="," close=")" index="index">
#{id}
</foreach>
</update>
这种情况是参数有多个,如果这样写,就会出错了。如果是单个数组的参数,可以像上面那样写。
正确写法:
<update id="updateFlgBatch"> update t_market_price set flg=#{flg},update_time=#{updateTime},update_by=#{updateBy} where id in <foreach item="item" collection="id" open="(" separator="," close=")" index="index"> #{item} </foreach> </update>