使用Hibernate如何获得数据库表中的数据总量
最近在学习JAVA的过程中使用到了Hibernate,发现它是一个很好的东东,使用它可以很easy的对数据库进行访问和操作。
今天在使用Hibernate的时候需要对获取一张数据库表的数据总条数,在这里记录一下获取数据总条数的办法。
方法其实很简单,如下代码:
public int count() {
// 得到当前会话
Session session = super.getSessionFactory().getCurrentSession();
// 构建查询条件
Criteria criteria = session.createCriteria(Announcement.class);
// 获得数据表的投影
criteria.setProjection(Projections.rowCount());
// 得到数据总条数
return criteria.list().size();
}
Hibernate的Projections工厂类包含了以下几个常用的统计函数①
① avg(String propertyName):计算属性字段的平均值。
② count(String propertyName):统计一个属性在结果中出现的次数。
③ countDistinct(String propertyName):统计属性包含的不重复值的数量。
④ max(String propertyName):计算属性值的最大值。
⑤ min(String propertyName):计算属性值的最小值。
⑥ sum(String propertyName):计算属性值的总和。
这些函数可以帮助我们完成各类统计工作