Hibernate的学习之路三十四(QBC的聚合函数的查询)
2017-12-04 15:13
435 查看
前言
继续来学习QBC的聚合函数的查法。分析
5. 聚合函数查询(Projection的聚合函数的接口,而Projections是Hibernate提供的工具类,使用该工具类设置聚合函数查询) * 使用QBC的聚合函数查询,需要使用criteria.setProjection()方法 * 具体的代码如下 Session session = HibernateUtils.getCurrentSession(); Transaction tr = session.beginTransaction(); Criteria criteria = session.createCriteria(Linkman.class); criteria.setProjection(Projections.rowCount()); List<Number> list = criteria.list(); Long count = list.get(0).longValue(); System.out.println(count); tr.commit();
代码如下:
在第一个方法中,存在一个问题,其中关键的一句是
criteria.setProjection(null);因为之前适用的是聚合函数的查法,set进方法了,如果在用其他查询,需要set一个null,恢复其默认值。
/** * 强调问题: select count(*) from 表,又想查select * from 表单,存在问题 */ @Test public void run9(){ Session session = HibernateUtils.getCurrentSession(); Transaction tr = session.beginTransaction(); // 创建QBC查询接口 Criteria criteria = session.createCriteria(Linkman.class); // 设置聚合函数的方式 select count(lkm_id) from 表; 5 criteria.setProjection(Projections.count("lkm_id")); List<Number> list = criteria.list(); Long count = list.get(0).longValue(); System.out.println(count); criteria.setProjection(null); // 继续查询所有的联系人 select * from 表 List<Linkman> mans = criteria.list(); for (Linkman linkman : mans) { System.out.println(linkman); } tr.commit(); } /** * 聚合函数的查询 */ @Test public void run8(){ Session session = HibernateUtils.getCurrentSession(); Transaction tr = session.beginTransaction(); // 创建QBC查询接口 Criteria criteria = session.createCriteria(Linkman.class); // 设置聚合函数的方式 List<Number> list = criteria.setProjection(Projections.count("lkm_id")).list(); Long count = list.get(0).longValue(); System.out.println(count); tr.commit(); }
相关文章推荐
- Hibernate的学习之路三十四(QBC的聚合函数的查询)
- Hibernate的学习之路三十四(QBC的聚合函数的查询)
- Hibernate的学习之路三十四(QBC的聚合函数的查询)
- Hibernate的学习之路三十四(QBC的聚合函数的查询)
- Hibernate的学习之路三十四(QBC的聚合函数的查询)
- Hibernate的学习之路三十四(QBC的聚合函数的查询)
- Hibernate的学习之路三十四(QBC的聚合函数的查询)
- Hibernate的学习之路三十四(QBC的聚合函数的查询)
- Hibernate的学习之路三十四(QBC的聚合函数的查询)
- Hibernate的学习之路三十四(QBC的聚合函数的查询)
- Hibernate的学习之路三十四(QBC的聚合函数的查询)
- Hibernate的学习之路三十四(QBC的聚合函数的查询)
- Hibernate的学习之路三十四(QBC的聚合函数的查询)
- Hibernate的学习之路三十四(QBC的聚合函数的查询)
- Hibernate的学习之路三十二(HQL的聚合函数查询)
- Hibernate的学习之路三十三(QBC的基本查询方式)
- Hibernate的学习之路三十二(HQL的聚合函数查询)
- Hibernate的学习之路三十三(QBC的基本查询方式)
- Hibernate的学习之路三十二(HQL的聚合函数查询)
- Hibernate的学习之路三十三(QBC的基本查询方式)