一、首先我们来看看结合foreach的delete语句:
<delete id="deleteEmp" >
delete from emp where eid in
<foreach collection="array" item="eid" open="(" close=")" separator="," >
#{
eid}
</foreach>
</delete>
分别解读以上的属性:
我们正常写一个delete删除固定选择的的语句为
<!-- delete from emp where eid in(1,2) -->
使用foreach语句:
<!--
<foreach collection="" item="" open="" separator="" index=""></foreach>
对一个数组或集合进行遍历
collection:指定要遍历的集合或数组
item:循环中为每个循环的数据指定一个别名
close:设置循环体的结束内容
open:设置循环体的开始内容
separator:设置每一次循环之间的分隔符
index:若遍历的是list集合,index代表的是下标;若遍历的是map,index代表的是键
-->
通过这些解释可以得知,结合foreach的delete语句含义其实就为循环成固定的形式,只不过传进来的是一个数组。
二、dao层、service层代码如下:传入的都为一个数组
void deleteEmp(String[] eid);//dao层
void deleteEmp(String[] eids);//service接口
@Override
public void deleteEmp(String[] eid) {
empMapper.deleteEmp(eid