Maven+SSM实现批量删除
实现批量删除
jsp页面
//工具栏
var toolbar = [ {
id : 'button-delete',
text : '作废',
iconCls : 'icon-cancel',
handler : doDelete
}
function doDelete(){
//alert("删除...");
//获取已经选中的员工
var selRows = $("#grid").datagrid("getSelections");
// 判断是否勾选
if (selRows.length<1){
// 如果没有勾选弹出提示框,如下图所示
$.messager.show({
title:'我的消息',
msg:'请至少勾选一项',
timeout:3000, //3秒后自动消失
showType:'show',
// 显示在中间顶部
style:{
right:'',
top:document.body.scrollTop+document.documentElement.scrollTop,
bottom:''
}
});
}else {
// 组装ids
ids=[];
for (var i=0; i<selRows.length; i++){
ids.push(selRows[i].id)// 在其后面追加
}
// ajax发送请求
$.ajax({
url:"${pageContext.request.contextPath}/bcStaff/del.action",
type:"post",
data:{ids:ids.join(",")}, // 把id放进ids数组,以,分隔
dataType:"json",
success:function (obj) {
// 清楚所选择行
$("#grid").datagrid("clearSelections");
// 重新加载数据
$("#grid").datagrid('reload');
}
});
}
}
提示框:
push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度。
$("#grid").datagrid(“clearSelections”);
join() 方法用于把数组中的所有元素放入一个字符串。元素是通过指定的分隔符进行分隔的。
使用的是easyui,数据表格datagrid中的clearSelections方法清除所选择的行
clearSelections 参数: none 清除所有选择的行。
service层实现类
// 批量删除
@Override
@Transactional
// 必须添加 @Transactional,事务,同样添加和更新操作也必须添加事务
public void delById(String ids) {
String[] strings = ids.split(","); // 使用split分割
// 判读id的长度是否大于等于1,如果小于1不做任何处理
if (strings.length >= 1){
for (String id :strings){ // 遍历id,一个一个删除
// 首先根据id查询
BcStaff bcStaff = this.bcStaffMapper.selectByPrimaryKey(id);
// 修改其删除状态
bcStaff.setDeltag("1"); // 修改删除状态
this.bcStaffMapper.updateByPrimaryKeySelective(bcStaff);
}
}
}
controller层
// 批量删除
@RequestMapping("del.action")
@ResponseBody
public ResponseResult del(@RequestParam String ids){
this.bcStaffService.delById(ids);
return new ResponseResult(true,null);
}