原理流程:全段建选择的用户序号用逗号‘,’拼接成字符串,传递到后端,后端在将该字符串切割,然后遍历删除。
前端页面(LayUI框架):
<script type="text/html" id="toolbarDemo">
<div class="layui-btn-container">
<button class="layui-btn layui-btn-sm" id="importTeaExcel" lay-event="uploadTeachersExcel">导入教师信息</button>
<button class="layui-btn layui-btn-sm" lay-event="addTeacher">添加教师信息</button>
<!--事假绑定点击按钮-->
<button class="layui-btn layui-btn-sm" lay-event="batchDelTeachers">批量删除教师信息</button>
</div>
</script>
前端触发事件按钮“batchDelTeachers”处理
table.on('toolbar(test)', function(obj){
var checkStatus = table.checkStatus(obj.config.id);
switch(obj.event){
case 'uploadTeachersExcel':
parent.layer.open({
type: 2,
offset:'auto',
title:'批量添加教师信息',
content:'/toImportTeachers',//跳转的路径url,不是页面的名称
area:['1000px','500px'],
btn:'关闭全部',
btnAlign:'c',
yes:function(){
setTimeout('window.location.reload()',1000);
}
});
break;
case 'addTeacher':
parent.layer.open({
type: 2,
offset:'auto',
title:'添加教师信息',
content:'/toAddTeacher',//跳转的路径url,不是页面的名称
area:['1000px','500px'],
btn:'关闭全部',
btnAlign:'c',
yes:function(){
setTimeout('window.location.reload()',1000);
}
});
break;
case 'batchDelTeachers':
var data = checkStatus.data;
if(checkStatus.data.length==0){
parent.layer.alert('请先选择要删除的数据行!');
return ;
}
<!--将选中的拼接成字符串-->
var nums = "";
for(var i=0;i<checkStatus.data.length;i++){
nums += checkStatus.data[i].tea_num+",";
}
$.ajax({
url:'/batchDeleteTea',
data:{'nums':nums},
type:'post',
success:function(data){
if(data=="success"){
layer.alert("批量删除成功");
setTimeout('window.location.reload()',3000);
}else{
layer.alert("批量删除失败");
setTimeout('window.location.reload()',1000);
}
}
});
break;
};
});
Controller层
@RequestMapping("/batchDeleteTea")
@ResponseBody
public String batchDelTea(@RequestParam("nums") Object nums){
String datas =nums.toString();
//切割前端传递的选择拼接成的字符串
String[] str = datas.split(",");
List<String> data = new ArrayList<String>();
for (int i = 0; i < str.length; i++) {
data.add(str[i]);
}
if(acdemicService.deleteBatchTeachers(data)>0){
return "success";
}else {
return "fail";
}
}
Service接口层
public int deleteBatchTeachers(List<String> data);
Service接口层实现层
@Override
public void deleteByTeaId(String tea_num) {
acdemicDao.deleteByTeaId(tea_num);
}
Mapper层
public int deleteBatchTeachers(List<String> data);
Mapper.xml层
<delete id="deleteBatchTeachers" parameterType="int">
delete from tb_teachers where tea_num in
<foreach collection="list" item="num" open="(" close=")" separator=",">
#{num}
</foreach>
</delete>