下面是IBatis和Hibernate的比较,多年前做了个presentation,现在拿出来看一下:<!-- [if gte mso 9]><xml>
– Hibernate: LGPL
– Ibatis: Apache2.0
– 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
– Hibernate: complete mapping table with
object, no need to write any SQL
– Ibatis:
SQL mapping, need to be familiar with SQL
– Hibernate: database type independent by
define dialect of DB
– Ibatis: database type related
– 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
– Hibernate: far more higher,no need to
write SQL at all
– Ibatis: low efficiency
– Hibernate: Richer documents, many
supported vendors and complete product level
– Ibatis: less document, low work
efficiency
– Hibernate: SQL is automatically by
Hibernate, is hard to optimize SQL
– Ibatis: can attain the goal by optimize
SQL
– 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>
分享到:
相关推荐
iBatis VS Hibernate iBatis不亚于Hibernate
1. Ibatis vs Hibernate:Hibernate是一个全自动的ORM框架,而Ibatis更加注重SQL的灵活性。Hibernate提供对象关系映射,自动管理对象的创建、更新和删除,但可能牺牲SQL的性能和灵活性。Ibatis则允许开发者直接编写...
标题:“Hibernate VS iBatis:全面解析两大ORM框架的区别与适用场景” 描述:“本文深入探讨Hibernate与iBatis两种流行ORM框架的特性、差异及适用情境,为开发者提供选择指导。” ### Hibernate与iBatis概览 ###...
iBATIS的缓存机制与其他ORM框架(如Hibernate)有所不同,它更侧重于SQL级别的缓存,而不仅仅是对象级别的缓存。 #### 三、配置iBATIS缓存 **3.1 cacheModel标签** 用于配置iBATIS的缓存模型。 - **3.1.1 ...
NHibernate 是 .NET 持久层框架,它从 Java 上的 Hibernate 移植而来。作为一种 o/rmapping 框架,它具有以下一些特点:完善的数据映射及关联操作;可扩展的持久机制;强大的数据加载功能;面向对象的数据查询语言 ...
Hibernate vs iBATIS - **Hibernate**:提供了一整套ORM解决方案,支持懒加载、缓存和事务管理,使得数据库操作更加简洁。 - **iBATIS**(现称为MyBatis):更侧重于SQL语句的灵活性,允许开发者编写自定义的SQL...
MyBatis 是一款非常流行的基于 SQL 的 ORM (对象关系映射) 框架,它由 Clinton Begin 在 2002 年创建,并在后续的发展过程中被捐赠给了 Apache 基金会,从而成立了 iBatis 项目。2010 年 5 月,项目组将代码库迁移到...
- **框架应用**:熟悉Struts、Hibernate、Spring、Ibatis等主流框架,能进行SSI(Spring+Struts+Ibatis)或SSH(Spring+Struts+Hibernate)整合开发,显示了对复杂项目结构的掌控能力。 - **前端技术**:掌握...
- **Hibernate**: - 一级缓存:Session级别的缓存,自动管理。 - 二级缓存:SessionFactory级别的缓存,需手动配置。 - **iBatis**: - 更轻量级,主要用于简单项目。 **1.11 反射机制** - **概念**:运行时...
2. **Java语言**:精通Java,熟悉IO、Socket、多线程、JVM、JNI、JMail等,对Struts2.x、Spring、Hibernate、iBatis等开源框架有深入了解,并能设计实现SSH的核心功能。 3. **Android**:有一定的Android应用和游戏...
容器资源 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。 总的来说,大规模网站架构设计是一门复杂的艺术,涉及到多种技术和策略的综合运用,以...
容器资源 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. ...
容器资源 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. 事务管理...
4. **Spring与iBatis**:Spring是一个全面的开发框架,包含DI、AOP、数据库访问等模块,其中Spring JDBC和MyBatis都是用于数据库操作的,但MyBatis更专注于SQL映射,灵活性更高。 5. **需求分析和产品知识**:...