mybatis foreach,trim标签

批量插入数据使用的sql语句是:

insert into table (aa,bb,cc) values(xx,xx,xx),(oo,oo,oo)

    
        
            SELECT
            LAST_INSERT_ID()
        
        insert into wd_solr
        (fayu_id, tablename,
        name,logo,description,section_no,look_count,favorite_count,create_uid,create_time,update_time,timestamp)
        values
        
            (
            #{wdSolr.fayuId},#{wdSolr.tablename},#{wdSolr.name},#{wdSolr.logo},
            #{wdSolr.description},#{wdSolr.sectionNo},#{wdSolr.lookCount},#{wdSolr.favoriteCount},
            #{wdSolr.createUid},#{wdSolr.createTime},#{wdSolr.updateTime},#{wdSolr.timestamp}
            )
        
    

批量更新数据使用的sql语句是:

UPDATE table
    SET aa = CASE id
        WHEN 1 THEN 'oo'
        WHEN 2 THEN 'pp'
        WHEN 3 THEN 'qq'
    END
  ,SET bb = CASE id
        WHEN 1 THEN 'xx'
        WHEN 2 THEN 'yy'
        WHEN 3 THEN 'zz'
    END
WHERE id IN (1,2,3)

上面这一条mysql语句可以更新多条记录,mybatis中mapper.xml的代码如下:


    
        update wd_solr set
        name =
        
            when #{wdSolr.id} then
            #{wdSolr.name}
        
        ,logo =
        
            when #{wdSolr.id} then
            #{wdSolr.logo}
                
        ,timestamp =
        
            when #{wdSolr.id} then #{wdSolr.timestamp}
        
        where id in
        
            #{wdSolr.id}
        
    

trim代替where/set标签

trim 是更灵活用来去处多余关键字的标签,它可以用来实现 where 和 set 的效果。原文出自【易百教程】,商业转载请联系作者获得授权,非商业转载请保留原文链接:https://www.yiibai.com/mybatis/mybaits_trim.html
 

  
  

trim 代替 set

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


trim (对包含的内容加上 prefix,或者 suffix 等,前缀,后缀)



trim 元素的主要功能是可以在自己包含的内容前加上某些前缀,也可以在其后加上某些后缀,与之对应的属性是 prefix 和 suffix;可以把包含内容的首部某些内容覆盖,即忽略,也可以把尾部的某些内容覆盖,对应的属性是 prefixOverrides 和 suffixOverrides;正因为 trim 有这样的功能,所以我们也可以非常简单的利用 trim 来代替 where 元素的功能。
 

你可能感兴趣的:(mybatis)