MyBatis批量操作(mysql)

mybatis批处理的思路是将多条sql合并为1条sql执行,提高效率。

1:批量删除

以数组为例的写法:

    
        delete from group_members where groupId in
        
            #{groupId}
        
    

以集合为例的写法:

   
        delete from group_members where groupId in
        
            #{groupMember.groupId}
        
   

mapper

void batchDeleteGroupMember(List list);

说明:

item集合或数组里的元素(对象)

collection集合类型(数组或集合)

open以什么开始

close以什么结束

separator中间以什么相连

2:批量新增

       
            insert into car_album
             (id, smallImage, largeImage, imgName, carModelsId,type,  imgPageHref, largeImgPageHref)
             values
             
                 (
                 #{img.id}, #{img.smallImage}, #{img.largeImage},  #{img.imgName},
                 #{img.carModelsId}, #{img.type}, #{img.imgPageHref}, #{img.largeImgPageHref}
                 )
             
     
生成的sql

insert into car_album (id, smallImage, largeImage, imgName, carModelsId,type, imgPageHref, largeImgPageHref) values 
( ?, ?, ?, ?, ?, ?, ?, ? ) , ( ?, ?, ?, ?, ?, ?, ?, ? ) , ( ?, ?, ?, ?, ?, ?, ?, ? ) , ( ?, ?, ?, ?, ?, ?, ?, ? ) ,
 ( ?, ?, ?, ?, ?, ?, ?, ? ) , ( ?, ?, ?, ?, ?, ?, ?, ? ) 




你可能感兴趣的:(mybatis,java)