hibernate与ibates优缺.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文档。上传文档
查看更多
hibernate与ibates优缺

hibernate与ibates优缺 IBatisNet与Hibernate的优缺点及可行性分析 1.优点 简单: 易于学习,易于使用,通过文档和源代码,可以比较完全的掌握它的设计思路和实现。 实用: 提供了数据映射功能,提供了对底层数据访问的封装(例如ado.net),提供了dao框架,可以使我们更容易的开发和配置我们的dal层。 灵活: 通过sql基本上可以实现我们不使用数据访问框架可以实现的所有功能,或许更多。 功能完整: 提供了连接管理,缓存支持,线程支持,(分布式)事物管理,通过配置作关系对象映射等数据访问层需要解决的问题。提供了dao支持,并在dao框架中封装了ado.net,nhibernate和datamapper。 增强系统的可维护性: 通过提供dal层,将业务逻辑和数据访问逻辑分离,使系统的设计更清晰,更易维护,更易单元测试。sql和代码的分离,提高了可维护性。 2.缺点 滞后性: 还没有明确对.net2.0的支持。最新版本在2.0下编译可以,但有些单元测试不能通过。 不成熟,工程实践较少: ibatisnet在实际项目中的使用较少。 只是理论上可行. 半orm,工具支持较少: 需要我们自己写sql,并且.net下还未发现可以自动生成业务层类和配置文件的工具,这点和nhibernate不一样,nhibernate会为我们的数据库直接产生sql,并有一些辅助工具。因此使用ibatis比nhibernate要多做一些工作。 3.可行性 没有最好的框架,只有最适合的框架。 存在的便是合理的,它存在就说明有它存在的道理。但它未必为我们存在。所以选择一个框架最主要的是看它对你有没有意义,意义有多大,是不是比其他框架带给 你的好处要多。没有绝对的优点也没有绝对的缺点,重要的是看在什么情况下讨论。 上面说了部分的ibatis的优点和部分缺点。这些优点从理论上证明ibatis对任何数据持久层都合适,但未必是最好的选择。下面对上面的优缺点分别从两方面讨论。 简单: 我们都喜欢简单,简单意味着学习成本低,使用中出错的可能性低。同时,简单的东西一般来说功能不够强大。反过来,复杂的东西学习成本高,用起来不方便,并且团队没有很强的技术实力,一般不要使用。 实用: 解决了项目中需要解决的问题,这是任何实际工程中采用的框架和工具都应具有的性质,否则就不要拿到实际项目中来。 灵活: 灵活有两层意思,一种是简单易扩展,另一种是功能强大提供了很多选项。ibatis属于前者,hibernate属于后者。两者各有优缺点。 功能完整: ibatis的功能完整也是相对的,比我们自己开发的框架应该完整,但对比其他框架肯定也有一些解决不了的问题。 增强系统的可维护性: 利用ibatis可以做到sql和代码分离,可以设计出一个清晰的数据访问层(dal)。但项目架构是否科学合理,是否以维护,关键不在ibatis,因 为它只是一个数据层框架。但是我们也不得不清楚,要想发挥ibatis的优势,我们需要做一些额外工作,比如最好设计dao接口,需要将业务层实体和对实 体的访问放在不同的工程中,同时需要维护xml配置文件。 滞后性: ibatis组现在还没有提到要支持.net2.0,很多人在.net2.0下使用ibatis都出现了问题。所以如果要使用.net2.0开发,ibatis不是一个好选择,还需要等待。 不成熟: 开源的东西很难说成熟,但一般比我们自己写的框架要成熟。由于我们可以拿到他的源代码,所以关键在于我们能否驾驭它。 半orm,工具支持少: 这注定了ibatis不能从本质上提升开发效率,我们需要自己写sql,写实体类,写配置文件。但这也是它优越的地方,它没有为我们做的他多,所以我们就 有更多的施展空间。而且它非常适合那些并不能完全控制数据库的系统和需要利用数据库本身提供的高级特性的统计查询系统的开发。 使用ibatis需要自己写sql,由于我们的sql不可能完全符合sql标准,比起nhibernate产生的sql来,可移植性差。不过由于我们更改 数据库的可能性较小,对我们来说sql符合标准以便可以在迁移到不同服务器时代价最小并不是十分必要的。另一方面,nhibernate虽然可以屏蔽很多 数据库间的不同,但是却很难利用某些数据库的高级特性,比如oracle的分析统计函数。 nhibernate不适合数据库模式不规范,约束不完整,需要大量复杂查询的系统,同时nhibernate的学习成本较高,完全掌握nhibernate也较困难,风险较大。 自己写框架未必比ibatis的好,稳定,强大和可扩展。而且自己

文档评论(0)

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

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

1亿VIP精品文档

相关文档