Criteria Query是通过面向对象化的设计,将查询条件封装成对象,可以看作是对传统SQL对象化的表示。
构建Criteria查询:
1.criteria接口是针对一个特定持久化类的查询,
2.条件查询时,criteria充当一个容器,由Criterion接口的实现类设置查询条件,使用criteria.add()方法加入实例中.
public void testCriteria() {
// 这里session是util类来得到
Session session = HibernateUtil.getSession();
// 构建criteria,这里传入的是持久化类User的一个类模版
Criteria criteria = session.createCriteria(User.class);
// criteria里面有很多比较的方法,lt,gt,le,ge,eq,and,or,like等等
// 添加查询条件 ne是指不等于 gt是大于 lt是小于,指定持久化类的属性和参数的值
criteria.add(Restrictions.ne("userName", "fisher"));
criteria.add(Restrictions.and(Restrictions.gt("age", 18), Restrictions
.lt("age", 20)));
// 分页实现 限定返回的搜索的结果从10条开始的后面20条记录
criteria.setFirstResult(10);
criteria.setMaxResults(20);
// 排序的实现 这里age是持久化类的属性 对应sql中的order by.
criteria.addOrder(Order.asc("age"));// 升序
criteria.addOrder(Order.desc("age"));// 降序
// 统计实现
// criteria.avg(),rowcount(),count(),max(),min(),countDistinct();
// 这里是按照age来进行分组
criteria.setProjection(Projections.groupProperty("age"));
List list = criteria.list();
Iterator i = list.iterator();
while (i.hasNext()) {
System.out.println(i.next());
}
HibernateUtil.closeSession();
}
分享到:
相关推荐
#### 四、小结 Hibernate的Criteria API通过其丰富的特性和灵活性,为开发者提供了构建复杂查询的强大工具。通过理解并熟练掌握`Criteria`、`DetachedCriteria`、`Criterion`和`Projection`等核心概念及其使用方法...
#### 五、小结 通过上述介绍,我们可以看出Hibernate中的Criteria接口提供了一种非常灵活的方式来构建动态查询。无论是简单的条件查询还是复杂的多表关联查询,Criteria都能提供强大的支持。同时,DetachedCriteria...
#### 四、小结 通过上述介绍可以看出,Hibernate Criteria API提供了一种灵活且强大的查询方式,不仅可以进行复杂的条件查询,还可以进行聚合查询等高级操作。此外,`DetachedCriteria`的使用让查询更加灵活,适用...
### 小结 通过以上介绍,我们可以看到Hibernate的Criteria API提供了非常灵活且强大的查询能力,能够满足复杂的应用场景需求。掌握了这些技巧,开发者就可以更加高效地利用Hibernate来处理数据库操作。 以上便是...
#### 小结 《用于将系统分解为模块的标准》一文深入探讨了模块化在系统分析与设计中的应用。通过对不同分解方法的比较,作者强调了选择合适分解标准的重要性。此外,文章还提到了几种实现模块化的具体方式及其潜在...
### 小结 通过上述内容可以看出,Criteria 查询方式为 Hibernate 提供了一个灵活且强大的查询机制。它可以方便地构建各种复杂的查询条件,并且支持排序、分页等高级功能,同时还能处理关联查询。对于那些希望避免...
通过上述代码,可以看到两个条件集`$criteria1`和`$criteria2`通过`mergeWith`方法合并成一个新的条件集`$criteria`,然后被传递给模型的`findAll`方法来执行最终的查询。 Yii的CDbCriteria使得构建复杂的SQL查询变...
Criteria接口提供了更加面向对象的查询方式,它可以用来构建类型安全的查询。 Hibernate的工作原理大致如下: 1. 使用Configuration类读取并解析配置文件,通常为hibernate.cfg.xml文件。 2. 解析映射文件,例如...
第1章 寻找grails之旅 1.1 java的困惑 1.2 webc2.0时代 1.3 java的力量 1.4 什么是grails 1.4.1 与java集成 ... 1.8 本章小结 ....... 2.4 本章小结 ... 3.10 本章小结 ... 11.7 本章小结
查询操作需要通过session来完成,可以通过创建Criteria、HQL或者使用原生SQL查询。在查询过程中,以对象的主键(通常是ID)作为查询条件,查询出的对象状态将决定要更新的数据内容。 在示例代码中,首先通过session...
7. **Hibernate查询**:熟练使用HQL、Criteria API进行数据查询,了解Criteria API的优势。 8. **事务管理**:理解Spring的声明式事务管理,如何在服务层处理事务。 9. **整合SSH**:将这三个框架集成在一起,实现...
'criteria' => $criteria, )); } ``` CGridView允许更灵活的列配置,如自定义显示内容、添加操作按钮等。 总结来说,Yii框架提供了多种方式来处理列表数据和分页,可以根据实际需求选择合适的方法。第一种方法...
理解实体类与数据库表之间的映射关系,学会编写HQL(Hibernate Query Language)或使用Criteria API进行复杂查询,以及熟练掌握事务管理,将极大地提高数据库操作的效率和安全性。 接下来,JavaScript作为客户端...
1.7 本章小结 33 第2章 Android应用的界面编程 35 2.1 界面编程与视图(View)组件 36 2.1.1 视图组件与容器组件 36 2.1.2 使用XML布局文件控制UI 界面 40 2.1.3 在代码中控制UI界面 41 2.1.4 使用...
### 小结 以上介绍了Hibernate的五种检索方式:导航对象图检索、OID检索、HQL检索、QBC检索以及本地SQL检索。每种检索方式都有其独特的应用场景和特点。在实际开发过程中,根据项目的需求和技术背景选择合适的检索...