动态更新查询mybatis映射器

问题描述 投票:0回答:1

我正在尝试创建一个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,但其中任何一个都有效。

谁知道怎么做?

非常感谢您的宝贵时间 :)

java mybatis mapper
1个回答
0
投票

谢谢罗马。它帮助了很多。我很抱歉重复这个问题,因为我浪费了3天寻找解决方案而没有找到任何结果。请将此问题标记为重复参考罗马的链接。谢谢

© www.soinside.com 2019 - 2024. All rights reserved.