众所周知MySQL的删除语句是
delete from 表名 where 条件
上面的是单删除语句,当想要一次删除多条数据时用到的是
delete from 表名 where 属性 in( , , , )
但是由于前台传来的数据个数不固定,于是导致in后面的数据是动态变化的,所以需要使用MyBatis的foreach标签了
1、首先我们假设前台发来了一个全是id的整形数组。
2、SpringBoot进行数据接收:
@PostMapping("/deleteBrand")
@Operation(summary = "删除品牌")
public R deleteBrand(@RequestBody Integer[] list){
Integer res = vueElementService.deleteBrand(list);
return new R().put("flag",res);
}
3、service层调用Dao层然后就到了xml层。
4、xml层的SQL语句:
<delete id="deleteBrand">
delete from tb_brand
where tb_brand.id in
<foreach collection="list" item="one" separator="," open="(" close=")">
#{one}
</foreach>
</delete>