首先将之前的删除单个的eq(1)改为eq(2),因为我们新增了一个多选项。
然后是在delete.js中加入:
//点击全部删除,就批量删除
$("#emp_delete_all_btn").click(function(){
var empNames = "";
var del_idstr = "";
//遍历选中的,获取其姓名和id
$.each($(".check_item:checked"),function(){
//this
empNames += $(this).parents("tr").find("td:eq(2)").text()+",";
//组装员工id字符串
del_idstr += $(this).parents("tr").find("td:eq(1)").text()+"-";
});
//去除多余的逗号
empNames = empNames.substr(0,empNames.length-1);
//去除多余的短横线
del_idstr = del_idstr.substr(0,del_idstr.length-1);
//alert(del_idstr);
if(confirm("确认删除【"+empNames+"】吗?")){
$.ajax({
url:"/curd_ssm/emp/"+del_idstr,
type:"DELETE",
success:function(result){
alert(result.msg);
to_page(currentNum);
}
});
}
});
将多选id组合成1-2-3-4的形式传给后端,可以发现我们的请求地址是和单个删除是同一个地址,因此要对删除方法进行改造。
EmployeeController.java
@ResponseBody
@RequestMapping(value="/emp/{ids}",method=RequestMethod.DELETE)
public Msg deleteEmpByid(@PathVariable("ids") String ids) {
if(ids.contains("-")) {
List<Integer> del_ids = new ArrayList<>();
String[] str_ids = ids.split("-");
//组装id集合
for (String string : str_ids) {
del_ids.add(Integer.parseInt(string));
}
employeeService.batchDelete(del_ids);
}else {
Integer id = Integer.parseInt(ids);
employeeService.deleteEmp(id);
}
return Msg.success();
}
我们修改接收的字符串为ids,如果是单个id,就执行之前的删除单条数据,如果包含“-”符号,说明是多条数据,首先切分成数组,然后装换成Integer类型并用List<Integer>进行接收,最后执行批量删除操作。
EmployeeService.java
public void batchDelete(List<Integer> ids);
EmployeeServiceImpl.java
@Override
public void batchDelete(List<Integer> ids) {
// TODO Auto-generated method stub
EmployeeExample employeeExample = new EmployeeExample();
Criteria criteria = employeeExample.createCriteria();
criteria.andEmpIdIn(ids);
employeeMapper.deleteByExample(employeeExample);
}
最后启动服务器:
点击批量删除:
点击确定:
点击确定:
至此,基于maven+ssm的增删改查终于全部完成了 。。。。