java持久化的技术.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 持久化技术 当前流行的解决方案: JDBC、JNDI Hibernate iBatis java持久层框架分析目前在java应用程序开发中,使用广泛的,开源的持久层框架是Hibernate 和 Ibatis 。 ibatis和hibernate都是ORM解决方案,不同的是两者各有侧重。Hibernate提供了Java对象到数据库表之间的直接映射,开发者无需直接涉及数据库操作的实现细节,实现了一站式的ORM解决方案。而ibatis则采取了另一种方式,即提供Java对象到SQL(面向参数和结果集)的映射实现,实际的数据库操作需要通过手动编写SQL实现。iBatis是又一个O/R Mapping解决方案,和Hibernate相比,iBatis最大的特点就是小巧,上手很快。如果你不需要太多复杂的功能,iBatis是能满足你的要求又足够灵活的最简单的解决方案。 持久框架的灵活性有两层意思,一种是简单易扩展,另一种是功能强大提供了很多选项。Ibatis属于前者,而Hibernate属于后者。 Hibernate 简介: 它是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序实用,也可以在Servlet/JSP的Web应用中使用,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。 Hibernate的目标是成为Java中管理持续性数据问题的一种完整的解决方案。它协调应用与关系数据库的交互,让开发者解放出来专注于手中的业务问题。 Hibernate是一个和JDBC密切关联的框架,所以Hibernate的兼容性和JDBC驱动,和数据库都有一定的关系,但是和使用它的Java程序,和App Server没有任何关系,也不存在兼容性问题。 Hibernate是一种非强迫性的解决方案。开发者在写业务逻辑与持续性类时,不会被要求遵循许多Hibernate特定的规则和设计模式。这样,Hibernate就可以与大多数新的和现有的应用平稳地集成,而不需要对应用的其余部分作破坏性的改动。 优点: 1.Hibernate功能强大,数据库无关性好,O/R映射能力强,如果精通Hibernate,而且对Hibernate进行了适当的封装,那么项目整个持久层代码会相当简单,需要写的代码很少,开发速度很快。 2.hibernate体现了OO编程的思想,许多OO的特性都可以用上,比如:继承,多态。而且有利于代码的重用。比如你有一个DAO,其中有一个save(Object)方法,那么,对于任何需要保存的对象,把它当作参数传给这个方法就可以了。? 3.方便系统的移植,对于不同的数据库系统,对于已经编写好的系统,一般情况下,只需要修改hibernate配置文件的dialect,那么它就会生成对应的数据库的sql语句。?? 4.有着正确的数据模型。以POJO为基础的模型是个正确的方向; 可配置性(例如对象之间的关系)是个很好的基础;HSQL正是O/R映射语言应该有的; 有着完整的API; 采用简明的Session类作为控制流的清洗器,因为它沿用了Connection的模型 5.开源和免费的License,可以在需要的時候研究源代码,改写源代码,进行功能的定制。具有可扩展性,API开放,当本身功能不够用的时候,可以自己编码进行扩展 6.hibernate已经成为了事实上的标准,目前使用的人多,所以技术支持也多,有什么问题也很容易在网络上寻求解决方案。 缺点: 1.学习门槛不低,要精通门槛更高,在设计O/R映射,在性能和对象模型之间如何权衡取得平衡,以及怎样用好Hibernate方面需要丰富的经验。 2.Hibernate不适合数据库模式不规范,约束不完整,需要大量复杂查询的系统。 个人意见: 推荐使用 IBatis: 简介: 相对于Hibernate和Apache OJB等“一站式”ORM解决方案而言,IBatis是一种“半自动化”的ORM实现。 这个框架将让你能够更好的在JAVA应用中设计和实现实体层。这个框架有两个主要的组成部分,一个是SQL Maps,另一个是Data Access Objects。另外还包括一些可能很有用的工具。 使用ibatis提供的ORM机制,对业务逻辑实现人员而言,面对的是纯粹的Java对象, 这一层与通过Hibernate实现ORM 而言基本一致,而对于具体的数据操作,Hibernate 会自动生成SQL语句,而ibatis则要求开发者编写具体的SQL语句。相对Hib

文档评论(0)

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

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

1亿VIP精品文档

相关文档