<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=","
代表去掉第一個逗號。
兩種方式等價