Mybatis之if标签使用(Update操作)


情况一

使用if条件:后期只希望不断更新最新的结果,不把字段设置为null,可以考虑使用这种方法

-- trim能够自动删掉最后的,

-- prefix="set",最前面的单词为set

-- suffixOverrides=","不保留最后的逗号

<update id="updataOptionByID" parameterType="leftOption">
        update leftOptions
        <trim prefix="set" suffixOverrides=",">
            <if test="firstTitle != null">
                `firstTitle` = #{firstTitle},
            </if>
            <if test="option != null">
                `option` = #{option}
            </if>
        </trim>
        where id = #{id}
</update>

注意:
当中使用到了两个if条件限制,假如全部都为空会报错,提示SQL拼接错误
只要有一个字段不为空,则sql能正确执行


情况二

需要设置字段为null的情况

<update id="updataOptionByID" parameterType="leftOption">
        update leftOptions
        set `firstTitle` = #{firstTitle},`option` = #{option}
        where id = #{id}
</update>

更多推荐

Mybatis之if标签使用(Update操作)