如何在myBatis datamapper.xml中放入if条件

时间:2016-01-05 05:45:56

标签: java sql mybatis ibatis

这就是我想要的

<update id='stoIncrement' parameterType='java.util.Map'>
update DB set 
<if test="#{is_increase} == 1">
count=(select max(count) from DB) +1 
 </if>
<if test="#{is_increase} == 0">
count=(select max(count) from DB) -1 
 </if>
where store=#{store}
</update>

此处is_increase是参数映射的键,不是表的实体。

但上述似乎并不奏效。在这方面,有人可以提供帮助。

由于

1 个答案:

答案 0 :(得分:0)

使用如下设置:

<update id='stoIncrement' parameterType='java.util.Map'>
update DB 
<set>
<if test="is_increase !=null and  is_increase == 1">
count=(select max(count) from DB) +1 ,
 </if>
<if test="is_increase !=null and  is_increase == 0">
count=(select max(count) from DB) -1 ,
 </if>
</set>
where store=#{store}
</update>