hibernate如何获取总记录数?
String hql = " from Customer";
Query q=s1.createQuery(hql);
有没有一个方法可以直接取到表中的总记录数?
问题点数:20、回复次数:5Top
1 楼wizardblue()回复于 2006-03-06 09:51:02 得分 5
s1是什么东西?hsql的也支持普通的sql的呀,直接select count(*)就好了的Top
2 楼keanfly(fly)回复于 2006-03-06 09:55:39 得分 0
Session s1 = HibernateUtil.currentSession();
就是分页的时候希望能先取到表中的记录总数,最好是不用select count(*),不知有没有一个取得总记录数的方法,看了API,好象也没找到。Top
3 楼kill8108(日月之光)回复于 2006-03-08 00:55:15 得分 5
hsql = "select count(*) from LoveList"
return ((Integer)session.createQuery(hsql).iterate().next()).intValue();Top
4 楼zeq258(周二强)回复于 2006-03-08 08:41:21 得分 5
用上边说的方法,没有问题,但是我要说的是对语句可以优化,
select count(*) from LoveList
改为:
select count(id) from LoveList ,
这里 id 是主键,当然,要根据你的实际情况写这个字段的名称。Top
5 楼falang123()回复于 2006-03-08 11:28:06 得分 5
/**
* <p>
* 对数据库进行操作,返回员工总人数 为分页提供服务
*
* @return intcount
*
*/
public int count() throws Exception {
log.warn("---->显示员工总人数");
int counts;
Session session = BaseHibernate.getSession();
Integer count = (Integer) session.createQuery(
"select count(*) from User s").uniqueResult();
counts = count.intValue();
BaseHibernate.closeSession(session);
return counts;
}
Top




