【发布时间】:2019-08-14 01:15:34
【问题描述】:
我是mybatis的初学者,最近想用mybatis来执行一个更新操作。mybatis的参数日期类型是java map,map包含了数据库中所有我想更新的字段,比如用户名,年龄,密码,,,但是map的key不只是数据库的字段名而且我想用mybatis的foreach怎么办?
这里是mybatis sql mapper
<update id="updateData" parameterType="map">
UPDATE myDataBase SET
<foreach item="value" index="key " collection="param" separator=",">
<if test="key != oldPageNo and key != oldNo">
${key}=#{value}
</if>
</foreach>
WHERE
ID = #{param[oldNo]} AND PAGE = #{param[oldPageNo]}
</update>
界面如下
int updateData(@Param("param")Map<String, Object> param);
错误: 嵌套异常是 org.apache.ibatis.binding.BindingException:找不到参数“oldPageNo”。可用参数为 [param, param1]
【问题讨论】:
标签: mybatis