报错信息: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>
Logo

一站式 AI 云服务平台

更多推荐