1 、如果传入参数为paramterType为Map类型。
public int delete(){
Map<String,Object> params= new HashMap<String ,Object>();
params.put("intIdArr",intIdArr);//intIdArr为一个int 数组
params.put("strDeviceMac",strDeviceMac);//strDeviceMac为字符串
int result = 0;
try {
result = sqlSessionTemplate.delete("web.delWebSite",params);
} catch (Exception e) {
log.error("error",e);
}
return result;
}
那么在xml中就的 <foreach collection="intIdArr" item="intIdArr" open="(“separator="," close=")">
collection的值要和item相同.
<delete id="delWebSite" parameterType="java.util.Map">
delete from tbl_website where device_mac = #{strDeviceMac} and seq_no in
<foreach collection="intIdArr" item="intIdArr" open="("
separator="," close=")">
#{intIdArr}
</foreach>
</delete>
2 、如果单单将数组传入,不写参数类型 ,也就是paramterType没有设置
dao方法中这样写的
public int delete(int [] intIdArr){
int result = 0;
try {
result = sqlSessionTemplate.delete("web.delWebSite",intIdArr);
} catch (Exception e) {
log.error("error",e);
}
return result;
}
那么xml中这样写
<delete id="delWebSite" parameterType="java.util.Map">
delete from tbl_website where 1=1 and seq_no in
<foreach collection="arry" item="intIdArr" open="("
separator="," close=")">
#{intIdArr}
</foreach>
</delete>