批量删除

先在页面上获取多选框的值,把获取到的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();

  

原文地址:https://www.cnblogs.com/liaoyanglong/p/6388642.html