`

IBatisVSHibernate

阅读更多

下面是IBatis和Hibernate的比较,多年前做了个presentation,现在拿出来看一下:<!-- [if gte mso 9]><xml>

 

  • License

– Hibernate: LGPL

– Ibatis: Apache2.0

  •   Learning curve

– Hibernate: Higher learning curve

– Ibatis: Shorter learning curve

  • l For a new system, full control for it

– Hibernate: is easy to develop to a complete new system

– Ibatis: is suitable for legacy database, accessing any third party DB or poor Database design

  • l  OR mapping

– Hibernate: complete mapping table with object, no need to write any SQL

– Ibatis:  SQL mapping, need to be familiar with SQL

  • l    Database type

– Hibernate: database type independent by define dialect of DB

– Ibatis: database type related

  • l    Store procedure

– Hibernate:  is weak to handle the store procedure

– Ibatis: is complete SQL control, so does store procedure

  • l  If one column of the table is modified

– Hibernate: is easy to maintain, only need to modify property of the column is OK

– Ibatis: All the SQL related with the column need to be modified

  • l    Work efficiency

– Hibernate: far more higher,no need to write SQL at all

– Ibatis: low efficiency

  • l    Product level

– Hibernate: Richer documents, many supported vendors and complete product level

– Ibatis: less document, low work efficiency

  • l  For huge data system

– Hibernate: SQL is automatically by Hibernate, is hard to optimize SQL

– Ibatis: can attain the goal by optimize SQL

  • l    Cache

– Hibernate: is easy to use cache

– Ibatis: configuration is  more difficult than Hibernate

<cacheModel id="lruCache" type="LRU" serialize="true" readOnly="false">   

 <property name="reference-type" value="WEAK"/>         

 <flushOnExecute statement="insertAccount"/>         

 <flushOnExecute statement="updateAccount"/>  

 <flushOnExecute statement="deleteAccountById"/>   

</cacheModel>   

<select id="selectAccountById" parameterClass="int" resultClass="Account" cacheModel="lruCache">      select      ACC_ID as id,      ACC_FIRST_NAME as firstName,        ACC_LAST_NAME as lastName,      ACC_EMAIL as emailAddress    from ACCOUNT    where ACC_ID = #id#  

</select>  

 

分享到:
评论

相关推荐

    iBatisVSHibernate

    iBatis VS Hibernate iBatis不亚于Hibernate

    ibatis学习资料及个人学习笔记,对初学者很有用

    1. Ibatis vs Hibernate:Hibernate是一个全自动的ORM框架,而Ibatis更加注重SQL的灵活性。Hibernate提供对象关系映射,自动管理对象的创建、更新和删除,但可能牺牲SQL的性能和灵活性。Ibatis则允许开发者直接编写...

    hibernateVSibatis

    标题:“Hibernate VS iBatis:全面解析两大ORM框架的区别与适用场景” 描述:“本文深入探讨Hibernate与iBatis两种流行ORM框架的特性、差异及适用情境,为开发者提供选择指导。” ### Hibernate与iBatis概览 ###...

    iBATIS缓存介绍

    iBATIS的缓存机制与其他ORM框架(如Hibernate)有所不同,它更侧重于SQL级别的缓存,而不仅仅是对象级别的缓存。 #### 三、配置iBATIS缓存 **3.1 cacheModel标签** 用于配置iBATIS的缓存模型。 - **3.1.1 ...

    VS.NET开源框架

    NHibernate 是 .NET 持久层框架,它从 Java 上的 Hibernate 移植而来。作为一种 o/rmapping 框架,它具有以下一些特点:完善的数据映射及关联操作;可扩展的持久机制;强大的数据加载功能;面向对象的数据查询语言 ...

    总结问题集合

    Hibernate vs iBATIS - **Hibernate**:提供了一整套ORM解决方案,支持懒加载、缓存和事务管理,使得数据库操作更加简洁。 - **iBATIS**(现称为MyBatis):更侧重于SQL语句的灵活性,允许开发者编写自定义的SQL...

    mybatis详细使用讲解

    MyBatis 是一款非常流行的基于 SQL 的 ORM (对象关系映射) 框架,它由 Clinton Begin 在 2002 年创建,并在后续的发展过程中被捐赠给了 Apache 基金会,从而成立了 iBatis 项目。2010 年 5 月,项目组将代码库迁移到...

    java工程师应聘简历范文.doc.pdf

    - **框架应用**:熟悉Struts、Hibernate、Spring、Ibatis等主流框架,能进行SSI(Spring+Struts+Ibatis)或SSH(Spring+Struts+Hibernate)整合开发,显示了对复杂项目结构的掌控能力。 - **前端技术**:掌握...

    Java软件开发工程师面试题宝典.doc

    - **Hibernate**: - 一级缓存:Session级别的缓存,自动管理。 - 二级缓存:SessionFactory级别的缓存,需手动配置。 - **iBatis**: - 更轻量级,主要用于简单项目。 **1.11 反射机制** - **概念**:运行时...

    JAVA简历模版

    2. **Java语言**:精通Java,熟悉IO、Socket、多线程、JVM、JNI、JMail等,对Struts2.x、Spring、Hibernate、iBatis等开源框架有深入了解,并能设计实现SSH的核心功能。 3. **Android**:有一定的Android应用和游戏...

    spring chm文档

    容器资源 vs 本地资源 12.2.10. 在应用服务器中使用Hibernate的注意点 12.3. JDO 12.3.1. 建立PersistenceManagerFactory 12.3.2. JdoTemplate和JdoDaoSupport 12.3.3. 基于原生的JDO API实现DAO 12.3.4. ...

    大规模网站架构祥细教程

    2. **DAL API**:集成到应用程序的数据库访问层API,例如Java的Hibernate Shard、Ibatis Shard、HiveDB和Python的Pyshards。 总的来说,大规模网站架构设计是一门复杂的艺术,涉及到多种技术和策略的综合运用,以...

    Spring 2.0 开发参考手册

    容器资源 vs 本地资源 12.2.10. 在应用服务器中使用Hibernate的注意点 12.3. JDO 12.3.1. 建立PersistenceManagerFactory 12.3.2. JdoTemplate和JdoDaoSupport 12.3.3. 基于原生的JDO API实现DAO 12.3.4. ...

    Spring-Reference_zh_CN(Spring中文参考手册)

    容器资源 vs 本地资源 12.2.10. 在应用服务器中使用Hibernate的注意点 12.3. JDO 12.3.1. 建立PersistenceManagerFactory 12.3.2. JdoTemplate和JdoDaoSupport 12.3.3. 基于原生的JDO API实现DAO 12.3.4. 事务管理...

    Java软件开发工程师面试题宝典

    4. **Spring与iBatis**:Spring是一个全面的开发框架,包含DI、AOP、数据库访问等模块,其中Spring JDBC和MyBatis都是用于数据库操作的,但MyBatis更专注于SQL映射,灵活性更高。 5. **需求分析和产品知识**:...

Global site tag (gtag.js) - Google Analytics