hibernate总记录数查询和分页查询
1 //参考代码 2 //第一种方法: 3 String hql = "select count(*) from User as user"; 4 Integer count = (Integer)getHibernateTemplate().find(hql).listIterator().next(); 5 return count.intValue(); 6 7 //第二种方法: 8 String hql = "select count(*) from User as user"; 9 return ((Integer)getHibernateTemplate().iterate(hql).next()).intValue(); 10 11 //第三种方法: 12 String hql = "select count(*) from User as user"; 13 Query query = getHibernateTemplate().createQuery( getSession(),hql); 14 return ((Integer)query.uniqueResult()).intValue(); 15 16 //参考代码 17 //第一种方法: 18 String hql = "select count(*) from User as user"; 19 Integer count = (Integer)getHibernateTemplate().find(hql).listIterator().next(); 20 return count.intValue(); 21 22 //第二种方法: 23 String hql = "select count(*) from User as user"; 24 return ((Integer)getHibernateTemplate().iterate(hql).next()).intValue(); 25 26 //第三种方法: 27 String hql = "select count(*) from User as user"; 28 Query query = getHibernateTemplate().createQuery( getSession(),hql); 29 return ((Integer)query.uniqueResult()).intValue(); 30 31 32 ================================================================ 33 @Override 34 public int getTotalRecord(int webId) { 35 String hql = "SELECT COUNT(a.id) FROM com.babycms.pojo.TArticle a where a.siteId=" + webId; 36 return ((Long) getHibernateTemplate().iterate(hql).next()).intValue(); 37 }
分页查询
public List<TArticle> getArticleByWebId(final int webId, final int start, final int maxSize) { return getHibernateTemplate().executeFind(new HibernateCallback( ){ @Override public Object doInHibernate(Session session) throws HibernateException, SQLException { String hql = "FROM com.babycms.pojo.TArticle a where a.siteId=" + webId; Query q = session.createQuery(hql); q.setFirstResult(start); q.setMaxResults(maxSize); return q.list(); } }); }
参考:http://www.jiancool.com/article/93763502098/;jsessionid=0CF84AC7703AA46B31BAE5406DCA4FC9