我看不到任何mapper(mybatis-3-mapper.dtd),我可以在mybatis中调用合并语句。
我看到了更新,插入,删除和SQL的标签
任何人都建议如何在Mybatis中使用oracle merge语句。
答案 0 :(得分:5)
按以下方式调用合并: -
<update id="exceMerge" parameterType="hashmap">
MERGE INTO USERS U USING DUAL ON (U.PROPERTY_NAME=#{prop_name})
WHEN MATCHED THEN
UPDATE SET U.PROPERTYVALUE=#{prop_value}, U.MESSAGE=#{message,javaType=String,jdbcType=CLOB}
WHEN NOT MATCHED THEN
INSERT(PROPERTY_NAME, PROPERTYVALUE, MESSAGE) VALUES (#{prop_name},#{prop_value},#{message,javaType=String,jdbcType=CLOB})
</update>
答案 1 :(得分:1)
我建议您使用存储过程,但您也可以尝试将代码粘贴到<update>
代码中。
在数据库中定义程序后,只需按this example即可轻松调用MyBatis中的存储过程。
请注意,如果您的过程未返回任何参数,则过程调用应位于<update>
标记中(而不是<select>
,如示例所示)。