mybatis 批量删除数据的写法

mybatis 批量删除数据的写法

编码文章call10242025-03-19 13:14:2236A+A-

1. 使用foreach标签绑定集合参数:


    delete from table_name
    where id in 
    
        #{item}
    

调用方式:


List ids = Arrays.asList(1, 2, 3);
int result = mapper.deleteByIds(ids);

2. 使用where标签绑定条件参数:



   delete from table_name 
    
        
           id in 
           
               #{item}
           
       
   

调用方式:


Map map = new HashMap<>();
map.put("ids", Arrays.asList(1, 2, 3));
int result = mapper.deleteByCondition(map);

这两种方式的原理是使用MyBatis的动态SQL,通过foreach标签把List集合或数组中的每个元素绑定到SQL语句的in条件中,从而实现批量删除。使用这两种方式实现批量删除数据时, MyBatis会将底层的JDBC批量操作优化为一个SQL语句,以提高执行效率。所以,在实际使用中,若是对一张表需要批量删除上千条数据,使用这两种MyBatis的批量删除方式,效率会大大高于调用多次单条删除语句。

点击这里复制本文地址 以上内容由文彬编程网整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!
qrcode

文彬编程网 © All Rights Reserved.  蜀ICP备2024111239号-4