`
fisherhe
  • 浏览: 53040 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

关于Criteria查询的一些小结

SQL 
阅读更多

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();

	}
 

 

1
0
分享到:
评论

相关推荐

    Criteria的完整用法.pdf

    #### 四、小结 Hibernate的Criteria API通过其丰富的特性和灵活性,为开发者提供了构建复杂查询的强大工具。通过理解并熟练掌握`Criteria`、`DetachedCriteria`、`Criterion`和`Projection`等核心概念及其使用方法...

    Criteria使用方法

    #### 五、小结 通过上述介绍,我们可以看出Hibernate中的Criteria接口提供了一种非常灵活的方式来构建动态查询。无论是简单的条件查询还是复杂的多表关联查询,Criteria都能提供强大的支持。同时,DetachedCriteria...

    hibernate-Criteria

    #### 四、小结 通过上述介绍可以看出,Hibernate Criteria API提供了一种灵活且强大的查询方式,不仅可以进行复杂的条件查询,还可以进行聚合查询等高级操作。此外,`DetachedCriteria`的使用让查询更加灵活,适用...

    Hibernate学习资料(离线查询)

    ### 小结 通过以上介绍,我们可以看到Hibernate的Criteria API提供了非常灵活且强大的查询能力,能够满足复杂的应用场景需求。掌握了这些技巧,开发者就可以更加高效地利用Hibernate来处理数据库操作。 以上便是...

    On the Criteria To Be Used in Decomposing Systems into Modules

    #### 小结 《用于将系统分解为模块的标准》一文深入探讨了模块化在系统分析与设计中的应用。通过对不同分解方法的比较,作者强调了选择合适分解标准的重要性。此外,文章还提到了几种实现模块化的具体方式及其潜在...

    Hibernate实体查询(ceriteria)精解

    ### 小结 通过上述内容可以看出,Criteria 查询方式为 Hibernate 提供了一个灵活且强大的查询机制。它可以方便地构建各种复杂的查询条件,并且支持排序、分页等高级功能,同时还能处理关联查询。对于那些希望避免...

    Yii CDBCriteria常用方法实例小结

    通过上述代码,可以看到两个条件集`$criteria1`和`$criteria2`通过`mergeWith`方法合并成一个新的条件集`$criteria`,然后被传递给模型的`findAll`方法来执行最终的查询。 Yii的CDbCriteria使得构建复杂的SQL查询变...

    Hibernate 框架总结

    Criteria接口提供了更加面向对象的查询方式,它可以用来构建类型安全的查询。 Hibernate的工作原理大致如下: 1. 使用Configuration类读取并解析配置文件,通常为hibernate.cfg.xml文件。 2. 解析映射文件,例如...

    Grails权威指南

    第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 本章小结

    hibernate更新数据方法小结

    查询操作需要通过session来完成,可以通过创建Criteria、HQL或者使用原生SQL查询。在查询过程中,以对象的主键(通常是ID)作为查询条件,查询出的对象状态将决定要更新的数据内容。 在示例代码中,首先通过session...

    ssh三大框架学习心得

    7. **Hibernate查询**:熟练使用HQL、Criteria API进行数据查询,了解Criteria API的优势。 8. **事务管理**:理解Spring的声明式事务管理,如何在服务层处理事务。 9. **整合SSH**:将这三个框架集成在一起,实现...

    Yii列表定义与使用分页方法小结(3种方法)

    'criteria' => $criteria, )); } ``` CGridView允许更灵活的列配置,如自定义显示内容、添加操作按钮等。 总结来说,Yii框架提供了多种方式来处理列表数据和分页,可以根据实际需求选择合适的方法。第一种方法...

    java web开发心得

    理解实体类与数据库表之间的映射关系,学会编写HQL(Hibernate Query Language)或使用Criteria API进行复杂查询,以及熟练掌握事务管理,将极大地提高数据库操作的效率和安全性。 接下来,JavaScript作为客户端...

    疯狂Android讲义源码

     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的检索方式

    ### 小结 以上介绍了Hibernate的五种检索方式:导航对象图检索、OID检索、HQL检索、QBC检索以及本地SQL检索。每种检索方式都有其独特的应用场景和特点。在实际开发过程中,根据项目的需求和技术背景选择合适的检索...

Global site tag (gtag.js) - Google Analytics