框架技术
iBATIS 数据映射器
iBATIS 被广泛认为是最简单的一种持久化框架。
简洁的代码和简单的配置使得使用 iBATIS 所需的代码量可以减少到了相应 JDBC 代码的
62%。
架构级性能增强,如联合查询的使用等,加速了数据的处理。
iBATIS 改进了应用的设计方式以确保未来的可维护性。
iBATIS 可以帮助细化分工,使得工作团队能够充分利用个人的专长。
iBATIS 可以用任何具有完备功能的编程语言来实现。
Hibernate VS iBATIS
简介
Hibernate 是当前最流行的 O/R mapping 框架,当前版本是 3.05。它出身于
sf.net,现在已经成为 Jboss 的一部分了。
iBATIS 是另外一种优秀的 O/R mapping 框架,当前版本是 2.0。目前属于 apache
的一个子项目了。
相对 Hibernate"O/R"而言,iBATIS 是一种"Sql Mapping"的 ORM 实现。
Hibernate 对数据库结构提供了较为完整的封装,Hibernate 的 O/R Mapping 实
现了 POJO 和数据库表之间的映射,以及 SQL 的自动生成和执行。程序员往往只需定
义好了 POJO 到数据库表的映射关系,即可通过 Hibernate 提供的方法完成持久层操
作。程序员甚至不需要对 SQL 的熟练掌握,Hibernate/OJB 会根据制定的存储逻辑,
自动生成对应的 SQL 并调用 JDBC 接口加以执行。
而 iBATIS 的着力点,则在于 POJO 与 SQL 之间的映射关系。也就是说,iBATIS 并
不会为程序员在运行期自动生成 SQL 执行。具体的 SQL 需要程序员编写,然后通过映
射配置文件,将 SQL 所需的参数,以及返回的结果字段映射到指定 POJO。使用
iBATIS 提供的 ORM 机制,对业务逻辑实现人员而言,面对的是纯粹的 Java 对象,
这一层与通过 Hibernate 实现 ORM 而言基本一致,而对于具体的数据操作,
Hibernate 会自动生成 SQL 语句,而 iBATIS 则要求开发者编写具体的 SQL 语句。
相对 Hibernate 而言,iBATIS 以 SQL 开发的工作量和数据库移植性上的让步,为
系统设计提供了更大的自由空间。
二者的对比:
1. iBATIS 非常简单易学,Hibernate 相对较复杂,门槛较高。
2. 二者都是比较优秀的开源产品。
3. 当系统属于二次开发,无法对数据库结构做到控制和修改,那 iBATIS 的灵活性将
比 Hibernate 更适合。
4. 系统数据处理量巨大,性能要求极为苛刻,这往往意味着我们必须通过经过高度
优化的 SQL 语句(或存储过程)才能达到系统性能设计指标。在这种情况下 iBATIS
会有更好的可控性和表现。
5. iBATIS 需要手写 sql 语句,也可以生成一部分,Hibernate 则基本上可以自
评论3