簡體   English   中英

動態更新查詢mybatis映射器

[英]dynamic update query mybatis mapper

我正在嘗試創建一個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,但是它們中的任何一個都起作用。

有人知道該怎么做嗎?

非常感謝您的寶貴時間 :)

謝謝羅馬。 這很有幫助。 很抱歉重復這個問題,因為我浪費了3天的時間來尋找解決方案,但沒有發現任何問題。 請將此問題標記為重復引用羅馬的鏈接。 謝謝

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM