Ibatis与Hibernate的区别

[size=large]ibatas的sql语句需要自己手动写,而hibernate能够在程序运行时自动生成。

Hibernate的特点:Hibernate功能强大,数据库无关性好,O/R(对象/关系)映射能力强,Hibernate的O/R Mapping实现了POJO(实体类) 和数据库表之间的映射,以及SQL 的自动生成和执行。只需定义好了POJO 到数据库表的映射关系,即可通过Hibernate 提供的方法完成持久层操作。
缺点是:学习门槛不低,要精通门槛更高,怎么设计O/R映射,如何在性能和对象模型之间权衡取得平衡,怎样用好Hibernate方面很考验你的经验和能力,但是作为主流O/R Mapping框架,文档较丰富,产品较完善,版本的开发速度都要强于iBATIS。

iBATIS的特点:iBATIS入门简单,提供了数据库查询的自动对象绑定功能,延续了SQL的使用经验,对于没有那么高的对象模型要求的项目来说,相当完美。
缺点是:查询要自己写,不太容易适应快速数据库修改。
如果属于系统二次开发,无法对数据库结构做到很好地控制,那iBATIS的灵活性将比Hibernate更适合。系统数据处理量巨大,性能要求极为苛刻,需要高度优化的SQL语句(或存储过程)的情况下,iBATIS会有更好的可控性和表现。

总结:
Ibatis 是自己手动在配置文件(即xml里写sql语句) 易于维护,属半自动的,比起笨重的jdbc要强很多;适用于不清楚表结构,只知道其中几个字段并操作的,比如银行系统,一般不提供表,只提供接口字段的情况;
Hibernate是全自动的,一个实体对应一张表,可以以操作对象的方式对数据库进行增删改查,增删改之需要类似saveObj updateObj deleteObj这样的方法传入对象就可以了;查询可以写简练的hql,较适用于清楚数据的表结构的前提下。[/size]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值