Mybatis set标签

Mybatis set标签

set - 更新语句

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

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

  
  
    UPDATE user  
      
          
            username = #{username},  
          
          
           sex = #{sex},  
          
          
            birthday = #{birthday},  
          
      
    WHERE user_id = #{userid};      
  

再看看下面的一个示例:


        update t_blog
        
            
                title = #{title},
            
            
                content = #{content},
            
            
                owner = #{owner}
            
        
        where id = #{id}
    

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

你可能感兴趣的:(Mybatis set标签)