/** * 分页查询 */ public List pageQuery(Userinfo userinfo){ String hql="select u from Userinfo u where 1=1"; final List paramList = new ArrayList(); if(userinfo.getUserid()!=null){ hql+=" and u.userid>?"; paramList.add(userinfo.getUserid()); } if(userinfo.getUsername()!=null&&!"".equals(userinfo.getUsername().trim())){ hql+=" and username like ?"; paramList.add("%"+userinfo.getUsername()+"%"); } final String finalhql=hql; List list=this.getHibernateTemplate().executeFind(new HibernateCallback(){ public Object doInHibernate(Session session) throws HibernateException, SQLException { Query query = session.createQuery(finalhql); for(int i=0;i<paramList.size();i++){ query.setParameter(i, paramList.get(i)); } query.setFirstResult(0); query.setMaxResults(2); return query.list(); } }); return list; } 对选中的用户进行更新删除,可使用如下代码: public void updateOrDeleteByIn(final Long[] userids){ final String hql="update Userinfo set username=? where userid in(:paramUser)";//此处必须使用命名参数 //final String hql="delete Userinfo set username=? where userid in(:paramUser)"; this.getHibernateTemplate().execute(new HibernateCallback(){ public Object doInHibernate(Session session) throws HibernateException, SQLException { Query query=session.createQuery(hql); query.setParameter(0, "test"); //命名参数若为集合,则用query.setParameterList query.setParameterList("paramUser", userids); query.executeUpdate(); return null; } }); }