Hibernate Criteria查询详解与示例
需积分: 11 65 浏览量
更新于2024-07-13
收藏 1.52MB PPT 举报
"这篇资料主要介绍了Hibernate框架中的Criteria查询方式,包括如何查询特定名称的用户、筛选年龄大于特定值的用户以及同时满足多个条件的查询。资料还提及了Hibernate在软件架构中的位置以及持久层的基本概念和实现模式。"
在Java开发中,Hibernate是一个流行的ORM(对象关系映射)框架,它简化了数据库操作,使得开发者可以使用面向对象的方式来处理数据库交互。Criteria查询是Hibernate提供的一个强大且灵活的API,用于构建动态查询,无需编写SQL语句。在这个示例中,Criteria查询被用来执行以下操作:
1. 查询名为"John"的用户:
```java
Criteria criteria = session.createCriteria(User.class);
criteria.add(Restrictions.eq("name", "John"));
```
这段代码创建了一个Criteria实例,针对User类,然后添加了一个限制条件,即name属性必须等于"John"。
2. 查询所有年龄大于18岁的用户:
```java
Criteria criteria = session.createCriteria(User.class);
criteria.add(Restrictions.gt("age", new Integer(18)));
```
这里,Criteria实例针对User类创建,然后添加了一个条件,要求age属性大于18。
3. 查询所有年龄大于20岁且小于30岁的用户:
```java
Criteria criteria = session.createCriteria(User.class);
criteria.add(Restrictions.gt("age", new Integer(20)));
criteria.add(Restrictions.lt("age", new Integer(30)));
```
这个例子中,两个条件被添加到Criteria,表示查询的用户年龄必须同时大于20和小于30。
持久层在软件架构中扮演着重要角色,它负责数据的存储和检索。在Hibernate教程中,提到了两种常见的持久层实现模式:
1. 混杂模式:在这种模式下,业务类直接包含JDBC访问代码,持久化逻辑与业务逻辑混合在一起,不够清晰和易于维护。
2. 基于DataClass的持久层实现:在这种模式中,引入了DataClass作为业务对象和持久层之间的桥梁,通常采用DAO(Data Access Object)模式。DataClass包含了业务对象(DomainClass/Object)和数据访问类(DataAccessorClass),其中DomainClass封装了业务逻辑,而DataAccessorClass负责实际的数据库交互。
Hibernate的体系结构包括映射文件、Hibernate接口以及DAO模式等组件,它通过IoC(Inversion of Control)容器如Spring来实现依赖注入和事务管理,提供了强大的持久化支持。学习Hibernate不仅可以提高数据库操作的效率,还能提升应用的可维护性和扩展性。理解并熟练掌握Hibernate的Criteria查询和其他高级特性,对于Java开发者来说是非常有价值的。
2020-09-02 上传
2013-03-23 上传
2008-11-04 上传
2018-09-01 上传
2008-03-25 上传
2015-07-02 上传
2009-02-09 上传
小炸毛周黑鸭
- 粉丝: 25
- 资源: 2万+
最新资源
- 51单片机入门教程(PDF文件格式).pdf
- 2009年软件设计师考试大纲<软考>
- 2009年5月软件设计师考试题(上午题)
- linux经典图书之kernel篇
- linux经典图书之drivers篇
- springGuide
- 开放式机房互动交流系统(数据库课程设计)
- CSDN 软件开发2.0技术会议:iPhone平台之(下):OpenGL ES的三维图形开发揭密
- 让你的软件飞起来---------------------
- CSDN 软件开发2.0技术会议:iPhone平台之(上):应用开发和实例解析
- 最小生成树 数据结构 C语言编程
- Linux初级应用指南
- Linux 菜鸟 过关
- LINUX基础介绍扫盲贴
- Python 基础教程(最新3.0)
- unix常用命令 (包括各种常用命令)