Hibernate的查询 标准(Criteria)查询 聚合和分组
来源:互联网 发布:seo外包hane888 编辑:程序博客网 时间:2024/05/28 04:53
记录数查询很简单:
- Criteria crit = session.createCriteria(User.class);
- crit.setProjection(Projections.rowCount());
- int v = (Integer)crit.uniqueResult();
但是要注意,setProjection方法只是最后一次有效。就是说你可以多次使用这个方法,但是后一次操作将覆盖前一次的聚合操作。
- Criteria crit = session.createCriteria(User.class);
- crit.setProjection(Projections.rowCount());
- int value = (Integer)crit.uniqueResult();
- System.out.println(value);
- crit.setProjection(Projections.max("id"));
- value = (Integer)crit.uniqueResult();
- System.out.println(value);
- crit.setProjection(Projections.sum("id"));
- value = (Integer)crit.uniqueResult();
- System.out.println(value);
以上就会执行三次查询操作,分别执行的SQL为:
- select count(*) from user
- select max(id) from user
- select sum(id) from user
如果要设置多个聚合操作,请查看如下示例:
- ProjectionList proList = Projections.projectionList();
- proList.add(Projections.rowCount());
- proList.add(Projections.max("id"));
- proList.add(Projections.sum("id"));
- crit.setProjection(proList);
- List results = crit.list();
- Object[] arr = (Object[])results.get(0);
- for(Object ob : arr){
- System.out.println(ob.toString());
- }
上面执行一条SQL:
- select count(*),max(id),sum(id) from user
如果你看Projections这个类的话也也有看到分组的方法:
- Criteria crit = session.createCriteria(User.class);
- crit.setProjection(Projections.rowCount());
- crit.setProjection(Projections.groupProperty("name"));
- List results = crit.list();
- Object[] arr = null;
- for(int i=0;i<results.size();i++){
- arr = (Object[])results.get(i);
- for(Object ob : arr){
- System.out.print(ob.toString());
- }
- System.out.println();
- }
以上会执行SQL:
- select count(*) from user group by name
原文: http://cuisuqiang.iteye.com/blog/1522603
- Hibernate的查询 标准(Criteria)查询 聚合和分组
- Hibernate的查询 标准(Criteria)查询 聚合和分组
- Hibernate的查询 标准(Criteria--Projections)查询----- 聚合和分组
- Hibernate的查询 标准(Criteria)查询 聚合和分组
- Hibernate的查询 标准(Criteria)查询 聚合和分组
- Hibernate的查询 标准(Criteria)查询
- Hibernate的查询 标准(Criteria)查询
- Hibernate的查询 标准(Criteria)查询
- (3) Hibernate的查询 标准(Criteria)查询
- Hibernate Criteria分组和聚合
- Hibernate的查询 标准(Criteria)查询 分页、单个记录、排序
- Hibernate的查询 标准(Criteria)查询 分页、单个记录、排序
- Hibernate的查询 标准(Criteria)查询 分页、单个记录、排序
- Hibernate-分组查询、聚合函数
- Hibernate的Criteria查询
- Hibernate 的查询语言 Criteria 和Query
- Hibernate的Criteria和DetachedCriteria 查询
- HIbernate聚合函数和分组查询(学习笔记)
- Java 网络编程
- QT遍历目录获取文件信息
- 孙鑫VC++第4章简单绘图
- Java日期工具类
- 使用php在网页执行matlab
- Hibernate的查询 标准(Criteria)查询 聚合和分组
- 采用BlockingQueue实现内存消息队列
- PHP补丁[LAMP]
- 孙鑫VC++第5章文本编程
- 教你如何编写自己的bat文件1
- String && StringBuffer && StringBuilder
- [学习笔记] 4个有用程序
- 集合
- 受尽苦难而不厌,此乃修罗之道