首页 > 编程笔记 > Java笔记 阅读:591

Hibernate count方法:返回某个属性的数目

count 方法用于返回某个属性的数目。

语法:

count(String propertyName)

参数说明:
返回值:CountProjection 类的对象。CountProjection 类是 Projection 类的子类。

示例

获取 id 列的记录数,关键代码如下:
Criteria criteria = session.createCriteria(UserForm.class);  //定义Criteria对象
criteria.setProjection(Projections.count("id"));  //返回属性数目
int max = (Integer)criteria.uniqueResult();  //获取查询结果
System.out.println("记录数:"+max);

典型应用

count 方法用于查询某个属性的数目,本示例实现使用 Criteria 类的 count 方法查询 tb_users 表的记录数。

本示例使用 Hibernate 框架查询数据,在使用该框架前要创建与用户表 tb_users 对应的 JavaBean 对象 Users,以及其映射文件 Users.hbm.xml,可参考下载的源码。创建 FindCount 类,在该类中定义查询用户表方法,关键代码如下:
public static void main(String[] args){
  Session session = null;  //声明Session对象
  try{
    session = HibernateUtil.getSession();  //获取Session
    session.beginTransaction();  //开启事务
    try{
      Criteria criteria = session.createCriteria(Users.class);  //定义Criteria对象
      criteria.setProjection(Projections.count("id"));  //返回属性数目
      int max = (Integer)criteria.uniqueResult();  //获取查询结果
      System.out.println("tb_users表的记录数为:"+max);
    }catch(Exception e){
      System.out.println("查询用户信息时的错误信息:"+e.getMessage());
    }
    session.getTransaction().commit();  //提交事务
  }catch(Exception e){
    e.printStackTrace();
    session.getTransaction().rollback();  //出错将回滚事务
  }finally{
    HibernateUtil.closeSession(session);  //关闭Session对象
  }
}
运行结果如下:
tb_users标的记录数为:5

编程帮,一个分享编程知识的公众号。跟着站长一起学习,每天都有进步。

通俗易懂,深入浅出,一篇文章只讲一个知识点。

文章不深奥,不需要钻研,在公交、在地铁、在厕所都可以阅读,随时随地涨姿势。

文章不涉及代码,不烧脑细胞,人人都可以学习。

当你决定关注「编程帮」,你已然超越了90%的程序员!

编程帮二维码
微信扫描二维码关注

所有教程

优秀文章