1. 程式人生 > >SSM框架實現批量刪除操作

SSM框架實現批量刪除操作

JSP頁面

<table>
 	<tr>
 		<th><input id="all" type="checkbox" /></th>
		<th>標準號</th>
		<th>中文名稱</th>
		<th>版本</th>
		<th>釋出日期</th>
		<th>實施日期</th>
		<th>操作</th>
	</tr>
	<c:forEach items="${stdList }" var="std">
		<tr>
			<td><input name="id" type="checkbox" value="${std.id }" /></td>
			<td>${std.std_num }</td>
			<td>${std.zhname }</td>
			<td>${std.version }</td>
			<td><fmt:formatDate value="${std.release_date }" pattern="YYYY-MM-dd"/></td>	
			<td><fmt:formatDate value="${std.impl_date }" pattern="YYYY-MM-dd"/></td>	
			<td><a href="${std.package_path }" target="_blank">下載</a>&nbsp;&nbsp;<a href="edit.html?id=${std.id }" >修改</a></td>
		</tr>
	</c:forEach>	
</table>
<button id="del">批量刪除</button>
<script type="text/javascript" src="statics/js/jquery-1.12.4.js"></script>
<script type="text/javascript">
            //全選
		var oall=document.getElementById("all");
		var oid=document.getElementsByName("id");
		oall.onclick=function(){
			for(var i=0;i<oid.length;i++){
				//所有的選擇框和全選一致
				oid[i].checked=oall.checked;		
			}
		};
		//點選複選框
		for(var i=0;i<oid.length;i++){
			oid[i].onclick=function(){
				//判斷是否全部選中,遍歷集合
				for(var j=0;j<oid.length;j++){
				  if(oid[j].checked==false){
					oall.checked=false;
					break;
				  }else{
				    oall.checked=true;
				  }
				}
			};
		}
		//點選刪除
		$("#del").click(function(){
			var ids="";
			var n=0;
			for(var i=0;i<oid.length;i++){
				if(oid[i].checked==true){//選中為true
					var id=oid[i].value;
					if(n==0){
						ids+="ids="+id;
					}else{
						ids+="&ids="+id;
					}
					n++;
				}			
			}
            //上面會拼接出一個名為ids的陣列ids=1&ids=2&ids=3&ids=4……
			$.get("del.html",ids,function(data){
				if(data=="\"ok\""){
					alert("刪除成功!");
					//刪除成功後,呼叫action方法重新整理頁面資訊
					location.href="findAllStandardList.html";
				}else{
					alert("刪除失敗!");
				}
			});
		});
</script> 

controller控制器

//刪除功能
	@RequestMapping(value="/del.html")
	@ResponseBody
	public String delStansard(Integer[] ids){ //傳過來的是一個名叫ids的陣列
		try {
			//批量刪除
			standardBiz.delStandardInfo(ids);//刪除的方法
		} catch (Exception e) {
			// TODO: handle exception
			return "error";
		}
		return "ok";
	}

MyBatis中批量刪除的sql語句

	<delete id="delUserById">
	DELETE FROM `USER` WHERE id in
	<foreach collection="array" item="ids" open="(" separator="," close=")">
	<!-- collection表示型別,陣列是array,集合是List,item 是一個變數名,open表示左括號,separator是逗號,close是右括號 -->
			#{ids}
		</foreach>
	</delete>