批量删除
先在页面上获取多选框的值,把获取到的id存入一个数组中,在地址上拼接一个参数吧ids传到后台:
var ids= new Array();
var i=0;
$("input:checkbox[name='test']:checked").each(function() { // 遍历name=test的多选框
ids[i++]=$(this).val(); // 每一个被选中项的值
});
后台接收到一个String类型的ids,通过截取字符串的方法把所有的id通过都好的方式截取下来存到一个list集合中:
String[] id = ids.split(",");
List<Integer> list = new ArrayList<Integer>();
for (int i=0;i<id.length;i++){
int a = new Integer(id[i]);
list.add(a);
}
dao层通过接收这个list集合进行遍历,把id通过where条件拼接到hql语句中:
String hql="";
for(int i=0;i<list.size();i++) {
if(i==0) {
hql = "id="+list.get(i);
} else {
hql = hql + "or id="+list.get(i);
}
}
Session session= this.getSession();
Query q= session.createQuery("delete test where "+hql);
q.executeUpdate();

浙公网安备 33010602011771号