标签:
iBATIS一词来源于“internet”和“abatis”的组合,是一个由Clinton Begin在2002年发起的开放源代码项目。于2010年6月16号被
谷歌托管,改名为MyBatis。是一个基于SQL映射支持Java和·NET的持久层框架。这里我们主要讲解ibatis也可称为MyBatis在Java上面
的具体应用。
相对于Hibernate和ApacheOJB等“一站式”ORM解决方案而言,ibatis 是一种“半自动化”的ORM实现。
iBATIS 目前提供了三种语言实现的版本,包括:Java、.NET以及Ruby。下图是iBATIS的架构图
iBatis和Hibernate之间有着较大的差异,但两者解决方案很好,因为他们有特定的领域。 我个人建议使用iBATIS的,如果: 你想创建
自己的SQL,并愿意维持他们. 你的环境是由关系数据模型驱动的。 你的项目工作有复杂架构的。
简单地要使用Hibernate,如果: 你的环境是由对象模型驱动的,并希望自动生成的SQL。
要说明的一些区别: iBATIS : 简单 更快的开发时间 灵活 封装尺寸更小 Hibernate: 为你生成SQL,这意味着你不用花时间在SQL上,
提供了许多更先进的高速缓存,高可扩展性
另一个重要的区别是,iBATIS利用SQL语句可能是依赖数据库,使用Hibernate的HQL是相对独立于数据库,它是更容易改变数据库。
Hibernate映射的Java作为POJO对象,iBatis将ResultSet映射,从JDBC API给出POJO OBJETS的数据库表。
如果您使用存储过程,那么在Hibernate中可以做到这一点,但它在iBATIS比较有点困难。作为一种替代的解决方案iBATIS的映射结果
集对象,所以没必要去关心表结构。这非常适用于存储过程,非常适用于报表应用程序等 最后,Hibernate和iBATIS的都是开源的对象
关系映射(ORM)在同行业中可用的工具。使用这些工具的取决于你。 Hibernate和iBatis两者也有来自Spring框架的良好支持,以便
它不应该是一个问题,选择其中之一。
标签:
原文地址:http://www.cnblogs.com/xiohao/p/4379290.html