Session session = getSessionFactory().openSession(); Criteria criteria = session.createCriteria(Student.class); // 查询全部数据 List<Student> list = criteria.list(); for(Student stu : list){ System.out.println(stu.getSname() + "||" + stu.getSex()); } // criteria 查询表达式 /* * criteria 本身只是一个查询容器,具体的查询需要通过Criteria.add()方法把Expression添加到Criteria实例中. * Criteria 可以限定数据的查询范围和排序等操作 */ // criteria.add(Expression.like(propertyName, value)); // criteria.addOrder(Order.asc(propertyName)); // criteria.setFirstResult(1); // criteria.setMaxResults(2);
hibernate 提供了多种查询方式。其中包括:criteria,hql,sql
Criteria query 通过面向对象化的设计,把查询条件封装成一个对象。简单来说,可以把criteria query 看作是sql的对象化表示
方法 |
说明 |
Projections.rowCount() |
统计记录数 |
Projections.avg() |
统计平均值 |
Projections.max() |
统计最大值 |
Projections.min() |
统计最小值 |
Projections.groupProperty() |
分组 |
Projections.count() |
统计某一字段的非空记录数 |
Projections.sum() |
针对某一字段求和 |