mybatis中<set>标签和<trim prefix="set" suffixOverrides=",">

<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=","代表去掉第一个逗号。

两种方式等价

猜你喜欢

转载自blog.csdn.net/lipr86/article/details/82384450