4

我看不到任何可以在 mybatis 中调用合并语句的映射器(mybatis-3-mapper.dtd)。

我看到了更新、插入、删除和 SQL 的标签

任何人请建议如何在 Mybatis 中使用 oracle 合并语句。

4

2 回答 2

7

如下调用合并:-

<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>
于 2013-11-19T12:45:54.200 回答
1

我建议使用存储过程,尽管您也可以尝试将代码粘贴到<update>标签中。

在 MyBatis 中调用存储过程很容易,在你的数据库中定义一个过程之后,只需按照这个例子

请注意,如果您的过程不返回任何参数,则过程调用应该在<update>标记中(而不是<select>,如示例)。

于 2013-10-25T20:43:55.363 回答