iBATIS 介绍(by jini)

相关文章:
Hibernate VS iBATIS
鉴于反复出现讨论hibernate适用性问题的帖子,这次希望有个定论
jdbc还是ibatis?

推荐圈子: Tapestry
更多相关推荐 iBATIS DB Layer 不能算是一个 O/R mapping
不过他可以简化 DAO 的工作
可以算是个 SQL Mapping ...

他的观念很简单
可以下载 iBATIS 的 jPetstore 当作 sample code 来学习
最重要的是 com.ibatis.jpetstore.persistence.*
你可以看到 sql/*.xml 就是 sql mapping
简单的 mapping sql 观念 对於开发及维护是一件很轻松的事情
而他的 MVC Framework 是采用 struts
可以当作基本教材来学习 jsp/servlet MVC 开发

另外, hibernate 是完全的 O/R mapping
你可以看一下 Clinton Begin ( iBATIS DB 作者 )所做的评论
http://sourceforge.net/forum/message.php?msg_id=2141106
这句话, 也是我最喜欢对其他 爱拿 xxx 和 yyy 比较的人 所说的话
In the end the choice is yours and nobody can tell you what the right one is,
Trust only yourself, draw your own conclusions and do lots of testing!

我最欣赏下面这句话,这也是我的心声:

In the end the choice is yours and nobody can tell you what the right one is, Trust only yourself, draw your own conclusions and do lots of testing!

我从来都不向别人直接推荐用Hibernate,因为Hibernate也不是万能的,不管是Hibernate也好,JDO也好,CMP也好,JDBC也好,你觉得哪个适合你,你就用哪一个。所谓各花入各眼。只不过对Hibernate既不了解也不研究,就胡说八道,莫名其妙的疯狂排斥Hibernate,就只能从自己身上找原因了。

Clinton Begin已经说的很明确了,如果你开发一个新系统,希望完全控制对象模型,进行数据库设计,那么Hibernate是一个好的选择;如果你工作在一个很古老的数据库系统上,数据库设计非常糟糕,你又没有权利去改变数据库设计,那么iBATIS更合适一些。

http://sourceforge.net/forum/message.php?msg_id=2141106

正在讨论iBATIS是否要加入Apache Project。我个人觉得还是不要加入的好,现在Apache Project已经成了一个大杂烩。加入Apache Project以后,大部分项目都失去了特色。

我没有实际用iBATIS,但是通读了一遍iBATIS的文档。我的看法如下:

iBATIS非常简单易学,Hibernate非常复杂,门槛很高,如果你寻求快速上手,iBATIS是比较好的选择。

iBATIS需要手写sql语句,也可以生成一部分,Hibernate则完全自动生成,同样的需求,iBATIS的工作量比Hibernate要大很多。类似的,如果涉及到数据库字段的修改,Hibernate由于不需要手写sql,修改的地方很少,而iBATIS要把那些sql mapping的地方一一修改。

iBATIS不容易做好Cache,要相当小心,而Hibernate完善的封装了持久操作,Cache是完全透明的。

iBATIS给我一种半对象化半关系化模型的感觉,iBATIS可能不适合对象化设计思路,例如iBATIS至今没有解决n+1条select的问题,这使得使用iBATIS的时候应该严格遵循数据库字段一一对应映射的规则。当然这种方式也许很适合习惯了数据库建模思路的开发人员。

以数据库字段一一对应映射得到的PO和Hibernte这种对象化映射得到的PO是截然不同的,本质区别在于这种PO是扁平化的,不像Hibernate映射的PO是可以表达立体的对象继承,聚合等等关系的,这将会直接影响到你的整个软件系统的设计思路。

实际上在我知道Hibernate之前,我自己已经采用类似iBATIS那种思路来做过一个小项目了,事实证明,这种方式到也切实可行,除了不够优雅之外。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值