`
jianggege
  • 浏览: 97206 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

程序开发中Hibernate和Ibatis的选择

阅读更多
    今天之天下,Hibernate横行其道,程序员们见其霸道无比,纷纷投靠。场面是壮烈恢宏。Hibernate流行有它的道理,纯粹的面向对象思想给你提供了从POJO到关系数据库的完全映射,从此对一切对数据库的操作都变成了简单的几个方法。世界好像从此清静了。映射这方面Hibernate是功成名就,是自豪的。Ibatis更是被Hibernate远远抛在后面。
    在使用上,在Hibernate这里,好像一切都成了对象,这多好,程序员可以更好的发挥对象,更好应用面向对象的思想。其不知面向对象也有它自己的缺点。所以Hibernate这把左轮SHOUQIANG也会有没有子弹的时候。

1. 系统的部分或全部数据来自现有数据库,处于安全考虑,只对开发团队提供几条Select SQL(或存储过程)以获取所需数据,具体的表结构不予公开。
2. 开发规范中要求,所有牵涉到业务逻辑部分的数据库操作,必须在数据库层由存储过程实现
3. 系统数据处理量巨大,性能要求极为苛刻,这往往意味着我们必须通过经过高度优化的SQL语句(或存储过程)才能达到系统性能设计指标。
总上所述,Hibernate之所以会没有子弹是因为数据库的要求出了问题,数据库不公开,要求尽可能的利用存储过程,数据量大,苛刻的性能要求等等都是因为数据库。由此可见Hibernate在封装对象的同时也牺牲了SQL的灵活性。这时Ibatis这匹刚吃完草的马儿是整装上阵,蓄意待发!以上问题被Ibatis拉的远远的,通通解决。Ibatis在SQL上的灵活性是众所周知。 Hibernate和Ibatis的用力点不一样,前者尽最大努力封装SQL,后尽最大努力灵活SQL。
   在易用性上面,iBatis 易于掌握。拿来文档看半天到两天就可以掌握了。Hibernate 可能需要 3 倍以上的时间来掌握。岂止是3倍,Hibernate的O/R设计及缓存机制的合理应用可不是轻易能上手的,是要靠不断应用经验才能熬的出来。所以不弄几个项目出来真不敢说会用Hibernate。
   性能上,这可能是大家最想知道的,也是大家经常辩论的。Hibernate用HQL+缓存机制+延迟加载真能比的上直接写的SQL。遇见大数据量情况时Hibernate的优化方案还能拿的起,放的下吗?答案好像从来没有确定过。因为这牵涉到很的问题,数据库的表设计,Hibernate的缓存设计等等。Hibernate和Ibatis性能没有高低关键在于设计。
   存在就有它存在的道理,Hibernate和Ibatis都存在,但并一定是为我们的项目而存在,要选择谁还要靠实际情况!
分享到:
评论

相关推荐

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

    在软件开发领域,Spring、Hibernate、iBatis和WebWork是四个重要的框架,它们分别在不同的层面为开发者提供了便利。下面将对这些框架进行详细阐述。 1. **Spring框架** Spring是一个全面的Java企业级应用开发框架...

    struts1+spring+hibernate+ibatis集成

    Struts1、Spring、Hibernate和iBatis是Java Web开发中的四大框架,它们共同构建了一个强大的后端架构,用于处理复杂的企业级应用。这个集成方案旨在优化开发流程,提高代码的可维护性和可扩展性。 Struts1是MVC...

    springmvc_hibernate_ibatis_jdbc

    在SpringMVC、Hibernate和iBatis中,JDBC通常作为底层的数据访问层,为上层框架提供基础的数据库操作支持。 5. **Java框架**:这些技术组合在一起,形成了一套完整的Java开发框架。它们可以帮助开发者快速地搭建...

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

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

    iBatis和Hibernate的区别

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

    ibatis和hibernate的区别

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

    Spring hibernate ibatis 开发指南三合一

    在IT行业中,Spring、Hibernate和iBatis是Java企业级应用开发中不可或缺的三大框架,它们各自专注于不同的领域,但可以协同工作以构建强大的数据驱动应用程序。本指南将围绕这三大框架,帮助初学者理解它们的核心...

    夏昕的3部开发手册(Hibernate Ibatis Spring)

    《夏昕的3部开发手册》是一套针对Java开发者的...通过深入学习这三部手册,开发者不仅可以了解每个框架的基本概念和用法,还能学习如何在实际项目中合理选择和整合这些工具,以实现更高效、更稳定的企业级应用开发。

    HIbernate,Ibatis等持久层开发文档

    本压缩包包含两个关键的持久层框架——Hibernate和iBATIS的开发文档,将帮助我们深入理解并有效使用这两个强大的工具。 **Hibernate** 是一个对象关系映射(ORM)框架,它允许Java开发者用面向对象的方式处理数据库...

    struts2+hibernate+ibatis整合

    Struts2、Hibernate和iBatis是Java Web开发中三个非常重要的开源框架,它们分别用于MVC(模型-视图-控制器)架构、对象关系映射(ORM)和SQL映射。将这三个框架整合在一起可以构建高效、灵活的Web应用程序。 **...

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

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

    Struts2+Spring+Hibernate和Struts2+Spring+Ibatis

    Struts2+Spring+Hibernate和Struts2+Spring+Ibatis是两种常见的Java Web应用程序集成框架,它们分别基于ORM框架Hibernate和轻量级数据访问框架Ibatis。这两种框架结合Spring,旨在提供一个强大的、可扩展的、易于...

    ibatis和hibernate的简单介绍

    在ibatis中,可以通过XML配置文件来定义SQL语句,这种方式让SQL语句更加灵活且易于维护。对于复杂的查询语句,ibatis提供了更多的控制权给开发者,使得处理复杂查询变得更为便捷。 **ibatis特点:** 1. **简单的...

    ibatis 与hibernate之间的比较优点和缺点

    本文将深入探讨两个流行的 ORM 工具——Hibernate 和 iBatis(现称 MyBatis),分析它们的特点、优势及局限性,以帮助开发者根据项目需求选择最合适的工具。 #### Hibernate **简介:** Hibernate 是一个全面的 ...

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

    在IT行业中,数据库访问是应用程序开发的核心部分,用于存储和检索数据。本篇文章将深入探讨三个流行的Java框架:Spring、Hibernate和iBatis,它们都提供了对数据库操作的高效封装,使得开发人员能够更便捷地处理...

    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)工具,...

    关于Hibernate,ibatis,Sping,Webwork2,等等开发的PDF

    标题中的“关于Hibernate,ibatis,Sping,Webwork2,等等开发的PDF”表明这是一个包含多种Java开发框架技术的PDF资源集合。这些框架在Java企业级应用开发中扮演着重要角色,各自有着独特的功能和应用场景。下面将分别...

    【全中文】 SPRING STRUTS HIBERNATE DWR IBATIS

    【全中文】 SPRING STRUTS HIBERNATE DWR IBATIS 是一套全面的JavaEE开发框架学习资源,涵盖了五个关键的技术领域:Spring、Struts、Hibernate、DWR和iBATIS。这些技术在现代企业级应用开发中占据着核心地位,它们...

    struts2,hibernate,spring,ibatis面试合集

    Struts2、Hibernate、Spring和iBatis是Java开发中非常重要的四个框架,它们在企业级应用开发中占据着核心地位。以下是对这些框架的详细解释和相关知识点: 1. **Struts2**:Struts2是一个基于MVC(Model-View-...

Global site tag (gtag.js) - Google Analytics