对象关系映射框架的研究与实现.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文档。上传文档
查看更多
对象关系映射框架的研究与实现   摘要:针对对象模型和关系模型之间的“阻抗不匹配”问题,通过对java平台下的对象关系映射的几种解决方案分析比较,结合中小型应用中对象关系映射的普遍性及其在开发过程中的特点,设计实现了一个新的对象关系映射框架。该框架的应用可使得应用程序开发人员只关心数据的处理而不用理解数据库的结构和数据库访问的问题,让开发人员更专注于业务逻辑的设计以达到提高软件开发的效率和质量的目的。   关键词:java;对象关系映射;框架   中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)17-21435-04      1 引言      几乎所有的应用程序都需要在一个持久化的存储系统中存放和取回信息,那么如何将对象作为永久性信息来存储和访问就成为了我们在面向对象分析设计和实现过程中时常要面临的一个问题。通过关系数据库系统持久化对象是目前普遍采用的方式,但是面向对象技术主要采用对象模型来描述现实世界,而关系数据库是利用关系模型来表示数据,面向对象的软件使用关系数据库作为存储机制意味着数据在对象模型和关系模型间的转换。对象模型基于软件工程的一些原理,而关系模型则基于数学原理,两种模型理论基础的不同导致了它们之间的“阻抗不匹配”,正是这种不匹配使得使用关系数据库的面向对象软件开发人员通常要花大量的时间来进行对象持久化操作。因此要使面向对象的应用实用化,关键是要解决对象模型和关系模型的转换问题,这样ORM(Object-Relation Mapping,对象关系映射)便应运而生。   开发人员需要一种方式使面向对象方法中使用的各种对象映射到后台的关系型数据库中,把对表直接进行的操作,变成了对类的属性和函数的操作,这就称为对象关系映射。从软件分层的角度来看,这种方式实际上是在业务层和数据层间添加一个软件层,降低了业务层和数据层的耦合度,提高了系统的扩展性和可维护性,提高了开发效率。在应用中使用ORM,就等于在关系模型和对象模型之间架起了一座沟通的桥梁,从而把开发人员从低级重复的劳动中解脱出来,使之有更多的时间关注实际的商业逻辑需求。      2 已有的解决方案      1)硬编码方式:在业务方法中直接嵌入了SQL语句,SQL语句是面向关系的,依赖于关系数据模型。虽然结构简单、运行快,这给应用程序带来一些缺点,如:使程序结构不清晰,可读性差,难调试,难维护等。   2)数据访问层方式:是对硬编码方式的一个抽象,将硬编码方式中的数据库操作独立出来,将SQL语句集中到对应的数据访问类中,为每一种可能的数据库访问操作提供单独的方法,形成了一个在业务逻辑和数据库之间的数据访问层。这样保证了业务逻辑与数据访问分离,降低了业务逻辑与数据处理的耦合,在一定程度上提高了软件的可扩展性和可维护性,但会产生大量冗余代码,灵活度不够等。   3)映射层方式:和数据访问层的方式类似,在业务逻辑和后台数据库之中添加一个层。但不同的是这种方式采用元数据或反射实现业务对象和关系数据之间的映射。对象和数据库之间的转换就可以透明地进行,而不用关心数据库连接、事务等问题。该策略进一步屏蔽业务逻辑对数据库操作的依赖,隔离了应用程序和数据库的变更。当对数据库结构或业务逻辑中的类发生改变后,整个系统并不需要改动已有的编码,也不用重新编译。该策略能够大大降低数据访问的编码和维护工作,以及对开发人员的技能要求。Java环境下有几种主要的解决方案,如CMP、JDO、Hibernate等。虽然它们都用不同的方式较好实现了对象关系映射,对于一些中小型项目而言这些框架都有明显的不足,比如EJB的CMP必须遵守复杂的J2EE规范,生成大量的接口文件和配置文件,使用JDO时的操作方式繁琐,Hibernate灵活度太强而使得一般用户难以选择和把握等,因而难以实施这些成形的方案。      3 新框架的设计与实现      对于如新闻网站、网上商店、论坛系统、教学管理等中小型应用软件领域而言,多数采用的是以数据库为中心的开发方式,数据表会根据用户需求在数据库中预先做好,开发人员再采用各种面向对象的语言使用相关的数据库访问技术编写代码来操纵数据库。数据库中的大多数表只是起到一个记录保存作用的,少数表之间涉及关联关系,只需要提供基本的添加、修改、保存、删除的功能和一些简单关联、查询的功能就能满足它们的功能需求。此时如果采用一些现有的ORM框架,由于ORM框架本身的组织结构过于庞大、复杂,并且由于这种复杂性,导致短期内难以达到让开发人员放心使用的程度,因此难以在中小型应用中得到使用。鉴于国内开发中的种种的问题,将设计一个对象关系映射层框架来解决中小型项目应用中的数据存取需求,同时能提高系统的维护性及可复用性。   3.1 框架

文档评论(0)

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

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

版权声明书
用户编号:5243141323000000

1亿VIP精品文档

相关文档