转贴:hibernate取得count(*)
2007年07月19日 星期四 下午 07:14
俺用hibernate最原始的方法取得count(*)
public
int
getCount(String emailGroupId, String emailBatchId)![]()
throws
HibernateException
{![]() Session session = HibernateUtil.currentSession(); Transaction tx = session.beginTransaction();![]() String hql = "select count(*) from EmailSendInfo where email_group_id = :emailGroupId and batch_id = :batchId"; Query query = session.createQuery(hql);![]() query.setString("emailGroupId", emailGroupId); query.setString("batchId", emailBatchId);![]() ![]() for (Iterator it = query.iterate(); it.hasNext();) { return ((Integer) it.next()).intValue(); } return 0; }
Spring+Hibernate 如何使用count(*)(转) 第一种方法: 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()
;
DAO support 需要注入一些东东吧,比如说sessionFactory... :( |
本文介绍使用Hibernate进行count(*)查询的几种方法,包括直接利用Hibernate API、结合Spring框架使用HibernateTemplate等,并提供了具体代码示例。




}
}

314

被折叠的 条评论
为什么被折叠?



