MyBatis <set>标签的使用

来源:互联网 发布:可牛软件 编辑:程序博客网 时间:2024/06/14 09:40
  • MyBatis在生成update语句时若使用if标签,如果前面的if没有执行,则可能导致有多余逗号的错误。

  • 使用set标签可以将动态的配置SET 关键字,和剔除追加到条件末尾的任何不相关的逗号。
    没有使用if标签时,如果有一个参数为null,都会导致错误,如下示例:

Xml代码

<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>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24

注意:set语句之后一定别忘记加逗号