批量删除多条数据
对于很多初学者来说,当批量删除数据的时候,一般都会使用for循环进行删除,但是这样要多次打开数据库连接,性能和效率不高。下面教你怎么利用xml进行数据批量删除,只需一次连接即可。
首先删除数据的sql写法有两种
delete from ${tablename} where id = ?
delete from ${tablename} where jtt_primary_key in (id1,id2,id3)
利用第二中sql便可以实现批量删除,我们只需要拼接好SQL即可
在springboot项目中,我们只需要在controller传回需要删除的id数组合表名,在xml进行遍历即可
mapper
public Integer deleteDataByIds(@Param("ids") Long[] ids, @Param("tablename") String tablename);
mapper.xml
<delete id="deleteDataByIds">
delete from ${tablename} where jtt_primary_key in
<foreach collection="ids" item="id" open="(" separator="," close=")">
#{id}
</foreach>
</delete>