[mybatis]动态sql_set_与if结合的动态更新

Posted 唐火

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[mybatis]动态sql_set_与if结合的动态更新相关的知识,希望对你有一定的参考价值。

  • 因为sql语句拼装后,set语句后面可能会多一个逗号,所以要用set标签

set

<!--    public void updateEmp(Employee employee);-->
<update id="updateEmp">
    update tb1_employee

    <set>
    <if test = "lastName!=null">

        last_name = #lastName,
    </if>

    <if test="email!=null">
        email = #email,

    </if>

    <if test = "gender!=null">

        gender =#gender
    </if>
</set>
    where id = #id

</update>

trim(set)

<!--    public void updateEmp(Employee employee);-->
<update id="updateEmp">
    update tb1_employee

    <trim prefix="set" suffixOverrides=",">
    <if test = "lastName!=null">

        last_name = #lastName,
    </if>

    <if test="email!=null">
        email = #email,

    </if>

    <if test = "gender!=null">

        gender =#gender
    </if>
</trim>
    where id = #id

</update>

以上是关于[mybatis]动态sql_set_与if结合的动态更新的主要内容,如果未能解决你的问题,请参考以下文章

Mybatis动态SQL单一基础类型参数用if标签

MyBatis动态语句if与choose的区别

MyBatis学习总结_11_MyBatis动态Sql语句

MyBatis_动态SQL

[刘阳Java]_MyBatis_动态SQL标签用法_第7讲

mybatis_动态SQL