Mybatis<set>,<if>

MyBatis在生成update语句时若使用if标签,如果前面的if没有执行,则可能导致有多余逗号的错误。
使用set标签可以将动态的配置SET 关键字,和剔除追加到条件末尾的任何不相关的逗号。
没有使用if标签时,如果有一个参数为null,都会导致错误,如下示例:

<update id="updateByPrimaryKeySelective" parameterType="RecruitmentConfBanner">

UPDATE conf_banner t

<set>

<if test="bannerName != null"> t.banner_name = #{bannerName}, </if>

<if test="bannerUrl != null"> t.banner_url = #{bannerUrl}, </if>

<if test="bannerLogo != null"> t.banner_logo = #{bannerLogo}, </if>

<if test="bannerDescription != null"> t.banner_description = #{bannerDescription}, </if>

<if test="sort != null"> t.sort = #{sort}, </if>

<if test="isEnabled != null"> t.is_enabled = #{isEnabled}, </if>

</set>

where t.banner_id = #{bannerId}

</update>




链接:https://www.jianshu.com/p/9b5cd4a7b754
來源:简书
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值