Hibernate count方法:返回某个属性的数目
count 方法用于返回某个属性的数目。
语法:
返回值:CountProjection 类的对象。CountProjection 类是 Projection 类的子类。
本示例使用 Hibernate 框架查询数据,在使用该框架前要创建与用户表 tb_users 对应的 JavaBean 对象 Users,以及其映射文件 Users.hbm.xml,可参考下载的源码。创建 FindCount 类,在该类中定义查询用户表方法,关键代码如下:
tb_users标的记录数为:5
	
语法:
count(String propertyName)
参数说明:- 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
所有教程
- C语言入门
 - C语言编译器
 - C语言项目案例
 - 数据结构
 - C++
 - STL
 - C++11
 - socket
 - GCC
 - GDB
 - Makefile
 - OpenCV
 - Qt教程
 - Unity 3D
 - UE4
 - 游戏引擎
 - Python
 - Python并发编程
 - TensorFlow
 - Django
 - NumPy
 - Linux
 - Shell
 - Java教程
 - 设计模式
 - Java Swing
 - Servlet
 - JSP教程
 - Struts2
 - Maven
 - Spring
 - Spring MVC
 - Spring Boot
 - Spring Cloud
 - Hibernate
 - Mybatis
 - MySQL教程
 - MySQL函数
 - NoSQL
 - Redis
 - MongoDB
 - HBase
 - Go语言
 - C#
 - MATLAB
 - JavaScript
 - Bootstrap
 - HTML
 - CSS教程
 - PHP
 - 汇编语言
 - TCP/IP
 - vi命令
 - Android教程
 - 区块链
 - Docker
 - 大数据
 - 云计算