`
robbin
  • 浏览: 4821593 次
  • 性别: Icon_minigender_1
  • 来自: 上海
博客专栏
377a9ecd-1ea1-34ac-9530-9daa53bb2a7b
robbin谈管理
浏览量:137077
社区版块
存档分类
最新评论

选择Hibernate还是iBatis?

    博客分类:
  • Java
阅读更多
选择Hibernate还是iBATIS都有它的道理:

Hibernate功能强大,数据库无关性好,O/R映射能力强,如果你对Hibernate相当精通,而且对Hibernate进行了适当的封装,那么你的项目整个持久层代码会相当简单,需要写的代码很少,开发速度很快,非常爽。

Hibernate的缺点就是学习门槛不低,要精通门槛更高,而且怎么设计O/R映射,在性能和对象模型之间如何权衡取得平衡,以及怎样用好Hibernate方面需要你的经验和能力都很强才行。

iBATIS入门简单,即学即用,提供了数据库查询的自动对象绑定功能,而且延续了很好的SQL使用经验,对于没有那么高的对象模型要求的项目来说,相当完美。

iBATIS的缺点就是框架还是比较简陋,功能尚有缺失,虽然简化了数据绑定代码,但是整个底层数据库查询实际还是要自己写的,工作量也比较大,而且不太容易适应快速数据库修改。

我的建议就是:

如果你的团队没有Hibernate高手,那么请用iBATIS,要把Hibernate用好,并不容易;否则你应该选择Hibernate,那样你的开发速度和代码简洁性都相当棒!

BTW:

我觉得rails的ActiveRecord是平衡性做的最好的,避免了Hibernate的复杂性和学习HQL的成本,同时具备iBATIS即学即用的简单性。
分享到:
评论
8 楼 nwangwei 2007-05-01  
简单的就是好的
7 楼 java_super 2007-04-30  
我们现在要做一个杀毒软件的在线商店,准备用ibatis了,hibernate学习中...
6 楼 java_super 2007-04-30  
现在要做一个杀毒软件的在线商店,准备用ibatis了,hibernate学习中。。。
5 楼 piggy 2007-04-22  
我们公司用的就是iBATIS.
4 楼 一叶孤鸿 2007-02-09  
谢谢Robbin老大的解答^_^
3 楼 robbin 2007-02-08  
AR是不支持的,但是可以自己用ruby DBI接口直接针对存储过程编程
2 楼 一叶孤鸿 2007-02-08  
想请教robbin老大两个问题:
rails是不是自动强制o/r mapping的?
能不能调用procedure呢,比如oracle procedure?
我找了一下这方面的资料,我没找到确定的答案
在有些应用中procedure是非常常用的,
有些应用也是不适合用o/rmapping的
1 楼 bingbing 2007-01-04  
谢谢,真心的谢谢
一个学习中的新人真诚的留言

                  ---王炳焱

相关推荐

    spring与hibernate以及ibatis集成的实例和具体配置图解

    在IT行业中,Spring、Hibernate和Ibatis是三个非常重要的框架,它们各自在不同的领域发挥着重要...集成Spring、Hibernate和Ibatis可以让开发者根据需求选择合适的数据访问方式,同时享受到Spring带来的便利性和灵活性。

    struts1+spring+hibernate+ibatis集成

    - 灵活性:开发者可以根据项目需求选择合适的ORM工具(Hibernate或iBatis),并自定义SQL查询。 然而,这种集成也有其挑战,比如学习曲线较陡峭,配置文件繁多,以及由于框架间的交互可能产生的性能影响。尽管如此...

    开发指南(spring,hibernate,ibatis,webwork)

    【开发指南(spring,hibernate,ibatis,webwork)】 在软件开发领域,Spring、Hibernate、iBatis和WebWork是四个重要的框架,它们分别在不同的层面为开发者提供了便利。下面将对这些框架进行详细阐述。 1. **Spring...

    springmvc_hibernate_ibatis_jdbc

    标题中的"springmvc_hibernate_ibatis_jdbc"指的是一个整合了SpringMVC、Hibernate、iBatis和JDBC这四种关键技术的Java应用框架。这个框架旨在提供一个全面且强大的解决方案,便于开发人员进行Web应用程序的构建。 ...

    Spring MVC+Hibernate&Ibatis学习 例子 教程

    Spring MVC、Hibernate和iBatis是Java开发中常用的三大框架,它们在Web应用程序开发中各自承担着不同的职责。本教程将深入探讨这三个框架的核心概念、使用方法以及它们之间的协同工作。 **Spring MVC** 是Spring...

    Struts2 Spring Hibernate IBatis

    Struts2 Spring Hibernate IBatis Struts2 Spring Hibernate IBatis Struts2 Spring Hibernate IBatis Struts2 Spring Hibernate IBatis Struts2 Spring Hibernate IBatisStruts2 Spring Hibernate IBatisStruts2 ...

    ibatis和hibernate的区别

    【ibatis和Hibernate的区别】 在Java开发中,ibatis和Hibernate都是常见的对象关系映射(ORM)框架,它们简化了数据库操作,将Java对象与数据库表之间的映射关系抽象出来,使得开发人员可以使用面向对象的方式处理...

    struts2+hibernate+ibatis整合

    在业务层,根据需求选择使用Hibernate或iBatis进行数据库操作。 通过这种整合,开发者可以在享受MVC框架带来的便利性的同时,利用Hibernate的ORM特性简化数据操作,并通过iBatis的灵活SQL定制来优化性能。对于新手...

    将Hibernate和iBatis两Orm框架整合,取长补短

    4. **接口封装**:创建统一的DAO接口,根据业务需求决定调用Hibernate还是iBatis的方法。 在"复件 hiTestPro"这个项目中,可能包含了整合Hibernate和iBatis的示例代码,可以进一步研究其具体实现方式,包括配置文件...

    iBatis和Hibernate的区别

    iBatis和Hibernate各有优劣,选择哪个框架取决于具体项目的需求。对于需要高度定制化SQL查询的项目,iBatis可能是更好的选择;而对于追求快速开发、希望减少手工编码量的项目,Hibernate则更为合适。最终的选择应当...

    Hibernate和IBatis对比

    选择Hibernate还是iBATIS取决于项目的具体情况。对于需要快速开发、数据库模型相对固定的项目,Hibernate可能是更好的选择;而对于需要高度定制SQL语句、性能要求极高的应用,iBATIS则更具优势。最重要的是,无论...

    jsp+struct+hibernate+ibatis资源集锦珍藏

    在IT行业中,开发高效、可维护的Web应用是至关重要的,而`JSP`、`Struts`、`Hibernate`和`iBatis`这四个技术框架是Java Web开发领域中的核心工具。这个名为"jsp+struct+hibernate+ibatis资源集锦珍藏"的压缩包显然...

    hibernate和ibatis的区别

    主要描述的是hibernate和ibatis的区别,在什么时候使用hibernate比较好

    访问数据库基本封装(spring/hibernate/ibatis)

    在实际项目中,选择Spring、Hibernate或iBatis取决于具体需求。Spring适合大型、复杂的应用,因为它提供了全面的解决方案,包括数据库访问、事务管理、安全等。Hibernate则适用于需要ORM特性的项目,简化了对象和...

    struts2-spring-ibatis-hibernate(hibernate与ibatis集成)

    Struts2、Spring、iBatis 和 Hibernate 是四个在 Java Web 开发中广泛使用的开源框架。这个项目将它们集成为一个整体,为初学者提供了一个学习和理解这些技术如何协同工作的实例。 **Struts2** 是一个基于 Model-...

    ssh整合(spring+hibernate+ibatis)

    SSH整合是指将Spring、Hibernate和iBatis三个开源框架集成在一起,以实现高效、灵活的Web应用程序开发。Spring是核心的依赖注入(DI)和面向切面编程(AOP)框架,Hibernate则是一个强大的对象关系映射(ORM)工具,...

    hibernateVSibatis

    选择Hibernate还是iBatis,取决于项目的具体需求、团队的技术背景以及对性能、灵活性与开发效率的综合考量。若追求对象模型的丰富性和开发效率,且愿意投入时间和精力去掌握和优化Hibernate,那么Hibernate无疑是更...

Global site tag (gtag.js) - Google Analytics