如何使用IBatis和Oracle数据库在SQL Update中使用IN子句?

时间:2015-02-05 18:17:16

标签: sql ibatis

有人可以解释我如何在IBatis中创建这样的SQL Update语句(IN子句中的值在Map中):

UPDATE employee e
SET e.salary = 5000
WHERE e.employee_id IN (900, 800, 700);

我不知道如何在SQL Update中使用IN子句(在SQL SELECT中没有问题):

<update id="employeeChanging" parameterClass="Map">
   UPDATE  employee e 
   SET     e.salary= 5000                   
   WHERE   e.employee_id IN ( # configuration unclear! )
</update>

1 个答案:

答案 0 :(得分:0)

你可以像这样创建3个UPDATE语句:

<update id="employeeChanging" parameterClass="Map">
    <foreach item="item" collection="entries.entrySet()">
        UPDATE  employee e 
        SET     e.salary= 5000                   
        WHERE   e.employee_id = #{item.key};
    </foreach>       
</update>