问题描述
我正在尝试创建一个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);
我正在尝试使用映射器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>
我尝试了很多选择,但没有一个起作用。 我尝试使用列表而不是HashMap,尝试使用特定的Object作为parameterType,但是它们中的任何一个都起作用。
有人知道该怎么做吗?
非常感谢您的宝贵时间 :)
1楼
谢谢罗马。 这很有帮助。 很抱歉重复这个问题,因为我浪费了3天的时间来寻找解决方案,但没有发现任何问题。 请将此问题标记为重复引用罗马的链接。 谢谢