SSM框架学习之删除(单个删除与批量删除)

单个删除
为每个删除按钮绑定参数,并发送AJAX请求删除数据

$(document).on("click",".del",function(){
    
    
		//1.是否确认删除
		var name=$(this).parents("tr").find("td:eq(1)").text();//找其父元素下tr中第二个td的值
		if(confirm("确认删除 --"+name+"--吗?")){
    
    
			//确认则发送请求
			$.ajax({
    
    
				url:"${APP_PATH}/delete/"+$(this).attr("del-id"),
				type:"POST",
				success:function(result){
    
    
					to_page(currentPage)
				}
			});
		}
		//alert(id)
	});

Controller

@RequestMapping(value="delete/{id}")
	@ResponseBody
	public Msg deleteByid(@PathVariable("id") Integer id){
    
    
		userservice.deleteById(id);
		return Msg.success();
		
	}

如此,便实现了删除
在这里插入图片描述

批量删除数据

是以复选框的形式进行批量删除操作的
首先我们要实现全选与全不选
在这里插入图片描述
若全选框选中,所有选中,若所有选中,全选框亦选中,根据属性判断是否选中

$("#check_all").click(function(){
    
    
		//这些原生的属性是dom里的,attr用来获取自定义的,dom获取原生的
		//alert($(this).attr("checked"))//返回unDeified
		//alert($(this).prop("checked"));//prop修改和读取原生的dom属性
		$(".check_item").prop("checked",$(this).prop("checked"));	
	});
	$(document).on("click",".check_item",function(){
    
    
		//判断当前选择的元素是否是5个
		if($(".check_item:checked").length==$(".check_item").length){
    
    
			$("#check_all").prop("checked",true);
		}
	});

那么接下来,我们就要实现全部删除操作了
在这里插入图片描述
js获取要删除的id号,拼接后发给Controller

$("#delall").click(function(){
    
    
		var names="";
		var ids="";
		$.each($(".check_item:checked"),function(){
    
    
			ids+=($(this).parents("tr").find("td:eq(1)").text())+"-";
			names+=($(this).parents("tr").find("td:eq(2)").text())+" ";
		});
		ids=ids.substring(0, ids.length-1);
		if(confirm("确认删除--"+names+"--吗?")){
    
    
			//发送ajax请求
			$.ajax({
    
    
				url:"${APP_PATH}/deleteAll/"+ids,
				type:"POST",
				success:function(result){
    
    
					to_page(currentPage)
				}
			});
		}
	})

Controller中的处理,将字符串拆分

@RequestMapping(value="deleteAll/{ids}")
	@ResponseBody
	public Msg deleteAll(@PathVariable("ids") String ids){
    
    
		if(ids.contains("-")){
    
    
			List<Integer> del_ids=new ArrayList<>();
			String[] str_ids=ids.split("-");
			//组装id的集合
			
			for(String str_id:str_ids){
    
    
				del_ids.add(Integer.parseInt(str_id));
				System.out.println("id号:"+str_id);
			}
			userservice.deleteBatch(del_ids);
		}else{
    
    
			Integer id=Integer.parseInt(ids);
			userservice.deleteById(id);
		}
		return Msg.success();
		
	}

持久层操作

public void deleteBatch(List<Integer> ids) {
    
    
		// TODO Auto-generated method stub
		USerExample userexample=new USerExample();
		Criteria crit=userexample.createCriteria();
		crit.andUserIdIn(ids);
		//delete form xxx where id in(1,2,3)
		usermapper.deleteByExample(userexample);
		
	}

在sql语句中,有delete from user where id in(1,2,3,4)这种操作
到这里,SSM框架的增删改查操作便全部实现了。

码字不易,给个赞呗

猜你喜欢

转载自blog.csdn.net/pengxiang1998/article/details/114362512