zoukankan      html  css  js  c++  java
  • Mybatis set标签

    set - 更新语句

    当 update 语句中没有使用 if 标签时,如果有一个参数为 null,都会导致错误。

    当在 update 语句中使用if标签时,如果前面的if没有执行,则或导致逗号多余错误。使用set标签可以将动态的配置 SET 关键字,并剔除追加到条件末尾的任何不相关的逗号。使用 if+set 标签修改后,如果某项为 null 则不进行更新,而是保持数据库原值。如下示例:

    <!--  if/set(判断参数) - 将实体 User类不为空的属性更新 -->  
    <update id="updateUser_if_set" parameterType="com.pojo.User">  
        UPDATE user  
        <set>  
            <if test="username!= null and username != '' ">  
                username = #{username},  
            </if>  
            <if test="sex!= null and sex!= '' ">  
               sex = #{sex},  
            </if>  
            <if test="birthday != null ">  
                birthday = #{birthday},  
            </if>  
        </set>  
        WHERE user_id = #{userid};      
    </update>  

    再看看下面的一个示例:

    <update id="dynamicSetTest" parameterType="Blog">
            update t_blog
            <set>
                <if test="title != null">
                    title = #{title},
                </if>
                <if test="content != null">
                    content = #{content},
                </if>
                <if test="owner != null">
                    owner = #{owner}
                </if>
            </set>
            where id = #{id}
        </update>

    set 标签元素主要是用在更新操作的时候,它的主要功能和 where 标签元素其实是差不多的,主要是在包含的语句前输出一个 set,然后如果包含的语句是以逗号结束的话将会把该逗号忽略,如果 set 包含的内容为空的话则会出错。有了 set 元素就可以动态的更新那些修改了的字段。

  • 相关阅读:
    python shellcod加载器修改特征值
    python shellcode 分析二
    python shellcode分析
    Hadoop综合大作业1
    Hadoop综合大作业
    分布式文件系统HDFS
    安装Hadoop
    爬虫综合大作业
    爬取全部的校园新闻
    理解爬虫原理
  • 原文地址:https://www.cnblogs.com/borter/p/9608616.html
Copyright © 2011-2022 走看看