MyBatis在生成update語句時若使用if標簽女轿,如果前面的if沒有執(zhí)行箭启,則可能導致有多余逗號的錯誤。
使用set標簽可以將動態(tài)的配置SET 關鍵字蛉迹,和剔除追加到條件末尾的任何不相關的逗號傅寡。
沒有使用if標簽時,如果有一個參數(shù)為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>
注意:set語句之后一定別忘記加逗號