Я пытаюсь создать общий метод обновления 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);
Я пытаюсь определить общее обновление с mybatis, используя файл mapper xml, например:
<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>
Iперепробовал много вариантов но ни один из них не работает.Я пытался использовать List вместо HashMap, я пытался использовать определенный Object в качестве параметра TypeType, но любой из них работал.
Кто-нибудь знает, как это сделать?
Большое спасибо за вашевремя:)