`
gcgmh
  • 浏览: 350208 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

hibernate的几个查询方法

阅读更多
一、总记录数查询方法
//参考代码   
//第一种方法:   
  String hql = "select count(*) from User as user";   
  Integer count = (Integer)getHibernateTemplate().find(hql).listIterator().next();   
  return count.intValue();   
  
//第二种方法:   
 String hql = "select count(*) from User as user";   
  return ((Integer)getHibernateTemplate().iterate(hql).next()).intValue();   
  
//第三种方法:   
 String hql = "select count(*) from User as user";   
 Query query =  getHibernateTemplate().createQuery( getSession(),hql);   
 return ((Integer)query.uniqueResult()).intValue();   

//参考代码
//第一种方法:
  String hql = "select count(*) from User as user";
  Integer count = (Integer)getHibernateTemplate().find(hql).listIterator().next();
  return count.intValue();

//第二种方法:
 String hql = "select count(*) from User as user";
  return ((Integer)getHibernateTemplate().iterate(hql).next()).intValue();

//第三种方法:
 String hql = "select count(*) from User as user";
 Query query =  getHibernateTemplate().createQuery( getSession(),hql);
 return ((Integer)query.uniqueResult()).intValue();  


================================================================
	@Override
	public int getTotalRecord(int webId) {
		String hql = "SELECT COUNT(a.id) FROM com.babycms.pojo.TArticle a where a.siteId=" + webId;
		return ((Long) getHibernateTemplate().iterate(hql).next()).intValue();
	}



二、分页查询方法:
	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();
				}
			});
	}
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics