什么是批量删除?
批量删除说简单一点就是在删除单个记录的基础上多写一个for循环语句。在for循环语句中依次执行单个删除的操作,最后达到批量删除的效果。那么怎么才能实现批量删除呢?第一步 写一个checkbox,也就是复选框

第二步 利用value将checkbox与id绑定在一起
第三步 利用js取出选中了的checkbox中的值
function deleteAllBook(){
// 获取input标签下type类型为checkbox的所有选中的checked框
var option = $("input:checkbox:checked");
//取出checked框中的值
var checkedId = "";
var boo=true;
for (var i = 0, len = option.length; i < len; i++) {
if (boo) {
boo=false;
checkedId += option[i].value;
}
else
checkedId += ","+option[i].value;
}
var flag = window.confirm("你确定要删除这条记录吗");
//alert(checkedId);
if(flag){
window.location.href = "deleteSomeBookServlet?bno="+checkedId;
}
}
checkedld中就存放这你选择的复选框中的id值,并以逗号分隔,例如:2,5,9
第四步 利用Servlet中获取传递过来的参数并进行分割
接上例:如果是2,5,9,分割后会变成{2,5,9}
第五步 利用for循环语句依次调用DAO层删除功能的函数
boolean flag=false;
flag=bookdao.deleteSomeBook(b[c]);//删除成功则返回true
}
if(flag){//如果删除成功,利用Session向页面返回成功信息,并重定向至ShowBookServlet
request.getSession().setAttribute("err", "删除成功");
response.sendRedirect("ShowBookServlet");
}else{//如果删除失败,利用Session向页面返回错误信息,并请求转发至ShowBookServlet
request.getSession().setAttribute("err", "删除失败");
request.getRequestDispatcher("ShowBookServlet").forward(request, response);
}
第六步 DAO层删除函数的编写
public boolean deleteSomeBook(String array) {
conn=getConnectionn();
try {
pStat =conn.prepareStatement("delete from t_book where bno = ?");
pStat.setString(1, array);
int cnt=pStat.executeUpdate();
if( cnt>0 ) return true;
else return false;
}catch (Exception e) { return false; }
finally{ close(); }
}