<update id="updateDcxx" parameterType="bdc.developers.vo.Dcxx">
update deve_dcxx
<set>
<if test="fwArea!=null">
fw_area=#{fwArea},
</if>
<if test="certificate!=null">
不动产权证号=#{certificate,jdbcType=VARCHAR}
</if>
</set>
where case_No=#{caseNo}
</update>
此条件中如果<if test="fwArea!=null">成立也不会报错,.每个<if>中语句最后都带有逗号,如果有写过SQL语句的同学就一定知道,最后的逗号是不能有的,因此,这里的<set>标签能够帮助我们自动的移除最后一个<if>中的逗号。
<update id="updatePledge" parameterType="bdc.bank.vo.Pledge">
update bank_pledge
<trim prefix="set" suffixOverrides=",">
<if test="certificate!=null">
不动产权证号=#{certificate,jdbcType=VARCHAR},
</if>
</trim>
where case_no=#{caseNo}
</update>
这种方式就算<if test="certificate!=null">成立也不报错,这是因为suffixOverrides=","
代表去掉第一个逗号。
两种方式等价