2006-09-18

选择Hibernate还是iBatis?

关键字: hibernate ibatis
选择Hibernate还是iBATIS都有它的道理:

Hibernate功能强大,数据库无关性好,O/R映射能力强,如果你对Hibernate相当精通,而且对Hibernate进行了适当的封装,那么你的项目整个持久层代码会相当简单,需要写的代码很少,开发速度很快,非常爽。

Hibernate的缺点就是学习门槛不低,要精通门槛更高,而且怎么设计O/R映射,在性能和对象模型之间如何权衡取得平衡,以及怎样用好Hibernate方面需要你的经验和能力都很强才行。

iBATIS入门简单,即学即用,提供了数据库查询的自动对象绑定功能,而且延续了很好的SQL使用经验,对于没有那么高的对象模型要求的项目来说,相当完美。

iBATIS的缺点就是框架还是比较简陋,功能尚有缺失,虽然简化了数据绑定代码,但是整个底层数据库查询实际还是要自己写的,工作量也比较大,而且不太容易适应快速数据库修改。

我的建议就是:

如果你的团队没有Hibernate高手,那么请用iBATIS,要把Hibernate用好,并不容易;否则你应该选择Hibernate,那样你的开发速度和代码简洁性都相当棒!

BTW:

我觉得rails的ActiveRecord是平衡性做的最好的,避免了Hibernate的复杂性和学习HQL的成本,同时具备iBATIS即学即用的简单性。
评论
bukebushuo 2008-04-07
我们公司用I
看中的有两点:SQL集中管理,因为我们不能保证程序员写的复杂SQL没问题。
对程序员编码和设计要求低,因为我们没有精通H的人,并且不能保证会的人就是精通的。

对于多出来的那些工作量相比较于上面的,我们认为不是问题!
hrtc 2008-03-18
请问你的性能报告的帖子在哪儿?能不能给个链接,找了半天没找到
zhaixf2001 2008-02-29
感谢,非常感谢。对入门很有帮助
siemens800 2008-01-17
我喜欢iBatis
hfwguitar 2007-08-22
引用
如果你的团队没有Hibernate高手,那么请用iBATIS,要把Hibernate用好,并不容易;否则你应该选择Hibernate,那样你的开发速度和代码简洁性都相当棒!

这样看来学习Hibernate还是很有必要的了!
cfantwt 2007-07-10
学习中。。。
nwangwei 2007-05-01
简单的就是好的
java_super 2007-04-30
我们现在要做一个杀毒软件的在线商店,准备用ibatis了,hibernate学习中...
java_super 2007-04-30
现在要做一个杀毒软件的在线商店,准备用ibatis了,hibernate学习中。。。
piggy 2007-04-22
我们公司用的就是iBATIS.
一叶孤鸿 2007-02-09
谢谢Robbin老大的解答^_^
robbin 2007-02-08
AR是不支持的,但是可以自己用ruby DBI接口直接针对存储过程编程
一叶孤鸿 2007-02-08
想请教robbin老大两个问题:
rails是不是自动强制o/r mapping的?
能不能调用procedure呢,比如oracle procedure?
我找了一下这方面的资料,我没找到确定的答案
在有些应用中procedure是非常常用的,
有些应用也是不适合用o/rmapping的
bingbing 2007-01-04
谢谢,真心的谢谢
一个学习中的新人真诚的留言

---王炳焱
发表评论

您还没有登录,请登录后发表评论

robbin
搜索本博客
我的相册
213cbb75-7dae-37b2-b9ce-9e7b49f784d3-thumb
游乌镇
共 33 张
其他分类
存档
最新评论