




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Hibernate简介一、历史与背景 1 应用程序的分层体系结构2 持久化层 3 ORM介绍二、Hibernate定义三、Hibernate的作用四、Hibernate的应用五、Hibernate API简介六、Hibernate优缺点一 历史与背景1 应用程序的分层体系结构 随着计算机应用软件的发展,应用程序逐渐由单层体系结构发展为多层体系结构。其中,三层结构是目前典型的一种应用软件结构,如图1左。表述层:提供与用户交互的界面,如GUI(图形用户界面),web页面等;业务逻辑层:负责各种业务逻辑,直接访问数据库,提供对业务数据的保存、更新、删除和查询操作;数据库层:负责存放管理应用的持久性业务数据三层结构的特点是:所有下层向上层提供调用的接口,具体实现细节对上层透明。层与层之间存在自上而下的依赖关系,即上层会访问下层的API,但下层不依赖于上层。2 持久化层(如图1右) 在图1右中,分离出的持久化层封装了数据访问细节,为业务逻辑层提供了面向对象的API。(1)什么叫持久化?持久(Persistence),即把数据(如内存中的对象)保存到可永久保存的存储设备中(如磁盘)。持久化的主要应用是将内存中的数据存储在关系型的数据库中,当然也可以存储在磁盘文件中、XML数据文件中等等。(2)什么叫持久层?持久层(Persistence Layer),即专注于实现数据持久化应用领域的某个特定系统的一个逻辑层面,将数据使用者和数据实体相关联。(3)为什么要持久化?增加持久层的作用是什么?数据库的读写是一个很耗费时间和资源的操作,当大量用户同时直接访问数据库的时候,效率将非常低,如果将数据持久化就不需要每次从数据库读取数据,直接在内存中对数据进行操作,这样就节约了数据库资源,而且加快了系统的反映速度。增加持久化层提高了开发的效率,使软件的体系结构更加清晰,在代码编写和系统维护方面变得更容易。特别是在大型的应用里边,会更有利。同时,持久化层作为单独的一层,人们可以为这一层独立的开发一个软件包,让其实现将各种应用数据的持久化,并为上层提供服务。从而使得各个企业里做应用开发的开发人员,不必再来做数据持久化的底层实现工作,而是可以直接调用持久化层提供的API。(4)目前在持久化层领域,实现模式有以下几种:A 业务逻辑和数据访问耦合B 主动域对象模式C ORM模式D JDO模式E CMP模式3 ORM介绍ORM(Object Relational Mapping),即对象关系映射。指以O/R原理设计的持久化框架(Framework),包括 O/R机制、SQL自生成、事务处理和Cache管理等。 ORM的实现思想就是将关系数据库中表的数据映射成为对象,以对象的形式展现,这样开发人员就可以把对数据库的操作转化为对这些对象的操作。因此它的目的是为了方便开发人员以面向对象的思想来实现对数据库的操作。常用的ORM中间件有:Apache OJB (/ojb/) Cayenne (/cayenne/) Jaxor () Hibernate () iBatis () jRelationalFramework () mirage (/en/oss/mirage/toon) SMYLE (http:/www.drjava.de/smyle) TopLink (/products/ias/toplink/index.html)其中 Hibernate 的轻量级 ORM 模型逐步确立了在 Java ORM 架构中领导地位,甚至取代复杂而又繁琐的 EJB 模型而成为事实上的 Java ORM 工业标准。而且其中的许多设计均被 J2EE 标准组织吸纳而成为最新 EJB 3.0 规范的标准。二 Hibernate定义Hibernate是一种Java语言下的对象关系映射解决方案。 它是一种自由、开源的软件。它用来把对象模型表示的对象映射到基于SQL 的关系模型结构中去,为面向对象的领域模型到传统的关系型数据库的映射,提供了一个使用方便的框架。 三 Hibernate的作用Hibernate 不仅管理Java 类到数据库表的映射(包括从Java数据类型到SQL数据类型的映射),还提供数据查询和获取数据的方法,可以大幅度减少开发时人工使用SQL 和JDBC 处理数据的时间。它的设计目标是将软件开发人员从大量相同的数据持久层相关编程工作中解放出来。无论是从设计草案还是从一个遗留数据库开始,开发人员都可以采用Hibernate。四 Hibernate的应用Hibernate对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,它既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用。最具革命意义的是,Hibernate可以在应用EJB(Enterprise JavaBeans是Java应用于企业计算的框架)的J2EE架构中取代CMP,完成数据持久化的重任。五 Hibernate API简介1 Hibernate API中的接口可以分为以下几类:(1) 提供访问数据库的操作的接口,包括session、Transaction、Query接口;(2) 用于配置Hibernate的接口,Configuration;(3) 间接接口,使应用程序接受Hibernate内部发生的事件,并作出相关的回应,包括:Interceptor、Lifecycle、Validatable;(4) 用于扩展Hibernate功能的接口,如UserType、CompositeUserType、IdentifierGenerator接口。Hibernate内部还封装了JDBC、JTA(Java Transaction API)和JNDI(Java Naming And Directory Interface)。其中,JDBC提供底层的数据访问操作,只要用户提供了相应的JDBC驱动程序,Hibernate可以访问任何一个数据库系统。JTA和JNDI使Hibernate能够和J2EE应用服务器集成。2 Hibernate的核心接口框图六Hibernate的优缺点(1)优点: a.Hibernate 使用
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- QC/T 1230-2025电动客车轮边驱动桥
- 2025年手工艺外贸专员笔试模拟题库
- 2025年宠物摄影宠物肖像题集
- 2025年安全生产安全操作测试题及解析
- 2025年美容美发设计师资格认证考试试题及答案解析
- 2025年路桥工程施工监理专业资格考试试卷及答案解析
- 2025年景观设计硕士研究生入学考试试题及答案解析
- 2025年财务总监竞聘笔试模拟试卷答案解析集
- 2025年教育心理咨询师专业技能考试试题及答案解析
- 2025年建筑施工钢结构工程师执业资格考试试题及答案解析
- 2025年安顺西秀区招聘城市社区工作者考试笔试试题(含答案)
- 2025-2026秋“1530”安全教育记录表
- 催乳相关培训知识课件
- 2025汽车智能驾驶技术及产业发展白皮书
- 2025年幼儿园食堂从业人员培训测试题(含答案)
- 会计档案培训课件
- 施工临时用水用电方案(3篇)
- 2025福建漳州市交通发展集团有限公司招聘试题及答案
- 2025年职业卫生技术服务专业技术人员考试(放射卫生检测与评价)历年参考题库含答案详解(5卷)
- PE管道铺设质量检测方案
- 审计管理岗面试题及答案
评论
0/150
提交评论