per原理机制流程.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
per原理机制流程

引入问题 我们在做数据库系统时会遇到类似于这样的问题,由java对象装换成关系型数据库的数据,或者反过来讲关系型数据库中的数据转换成java对象?由于java面向对象,所以有诸如继承,关联,实现,多态等关系,而关系型数据库中的关系模型主要有表,主外键关系等,所以此间转换就会出现关系不匹配的问题,这种问题我们把它叫做阻抗不匹配 hibernate hibernate是在JDBC之上提供一层薄薄的封装,在提供完全透明的持久化机制的同时又提供尽可能多的灵活性? 标准方面 J2EE提供了两个持久化的手段:JDBC,它是J2SE中访问关系数据库系统的标准API,然而却以一种错误的编程模型来强制开发者用java代码来处理关系思想;另一个是实体Beans ,它是EJB中专门模型化持久化实体的组件,一是不能处理持久对象间的关系,二是使用了糟糕的查询语言,三是难于测试? ORM(object relational mapping) 由于J2EE持久化标准对于处理对象与关系的尴尬,而且持久化问题的解决方案是由关系-对象映射(ORM)来解决的,它可以透明地持久化普通java对象(POJO(Plain Ordinary Java Object))?因此,ORM框架悠然而生? 1990年,一些商业的ORM工具就出现了,比如TopLink?但由于其价格昂贵?结构复杂并且与Sun的实体bean标准相左,所以很少人会用? 2001年,JDO(java data object)在Java Community Progress()的规范中出现?因其试图建立一个完整的持久层框架,追求标准化陷入僵局;标准很不完善,存在重大缺陷,产品分裂, 也没有一个好的开源免费实现,也没有能够流行? 2001年末,hibernate第一个正式版本对外发布,赢得了开源社区的一片赞誉? 2003年6月8日,hibernate 2的发布,奠定了成功的基石?开始进入国内开发人员视野? 2003年末,hibernate获得了Jolt 2004大奖以及被jboss收购,确立了hibernate在java orm架构中的主导地位,ORM工业标准? 2005年3月,hibernate 3正式发布? 成功之道 快速发布,即时响应 避免过度设计 集权 10分钟之内把Hibernate跑起来 何为hibernate 创建一份XML“映射文档”,告诉Hibernate您希望能够保存在数据库中的类,以及它们如何关联到该数据库中的表和列,然后就可以要求它以对象的形式获取数据,或者把对象保存为数据?运行时,Hibernate读取映射文档,然后动态构建Java类,以便管理数据库与Java之间的转换?在Hibernate中有一个简单而直观的API,用于对数据库所表示的对象执行查询?要修改这些对象,(一般情况下)只需在程序中与它们进行交互,然后告诉Hibernate保存修改即可?类似地,创建新对象也很简单;只需以常规方式创建它们,然后告诉Hibernate有关它们的信息,这样就能在数据库中保存它们? 持久层设计 持久层概念 专注于实现持久化的一个相对独立的领域,可以通过一个简单的逻辑图表达? ORM(object relational mapper)对象-关系型数据映射组件 优点: 减少乏味的代码 更加面向对象的设计 更好的性能 更好的移植性 缺点: 粒度问题granularity 关联问题associations …… 设计模式 工厂模式factory 代理模式proxy decorator模式 dynamic proxy模式 资源管理模式 DAO(data access object)模式  = 1 \* ROMAN I.DAO模式的实现层次: data accessor模式 实现数据访问与业务逻辑分离,将数据访问的实现机制加以封装,与数据的使用代码加以分离,从外部来看,data accessor提供了黑盒式的数据存取接口? active domain object模式 实现业务数据的对象化封装  = 2 \* ROMAN II.优点 数据存储逻辑分离 数据访问底层分离 资源管理和调度分离 数据抽象 数据库连接池connection pool 基本原理:在内部对象池中维护一定数量的数据库连接,对外暴露数据库连接获取和返回方法? 优点: 资源重用 更快的响应速度 新的资源分配手段 统一的连接管理,避免数据库连接泄漏 解藕合设计 应用层:应用逻辑与数据逻辑分离 资源层:逻辑结构与物理结构分离 体系结构 概况 A.一个非常重要的hibernate体系结构概要图: 可以看出,hibernate是使用数据库和配置信息为应用程序提供服务(以及持久化对象)? B. 轻型体系结构图 C. 体系结构方案 实例状

文档评论(0)

ipad0e + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档