我正在尝试创建一个mybatis通用更新方法。
我有这个功能的服务:
Map<String, Object> map = convertObjectToMapforUpdate(entity, UPDATE);
mapper.update(tableName, map, identifier);
其中String是参数属性,Object是值。
和这样的界面:
void update(@Param("tableName") String tableName, @Param("map") Map<String, Object> map, @Param("identifier") long identifier);
我正在尝试使用mapper xml文件定义mybatis的通用更新,如下所示:
<update id="update" parameterType="java.util.HashMap">
UPDATE ${tableName}
SET <foreach item="key" collection="map" index="index" separator=", ">
${key} = #{key}
</foreach>
WHERE identifier = #{identifier}
</update>
我尝试了很多选择,但没有一个是有效的。我尝试使用List而不是HashMap,我尝试使用特定的Object作为parameterType,但其中任何一个都有效。
谁知道怎么做?
非常感谢您的宝贵时间 :)
谢谢罗马。它帮助了很多。我很抱歉重复这个问题,因为我浪费了3天寻找解决方案而没有找到任何结果。请将此问题标记为重复参考罗马的链接。谢谢