当前位置:编程学习 > JAVA >>

ibatis和hibernate比较

以前学习框架的时候,以为Hibernate+Spring+Struts是项目中的铁三角,在真正工作中才发现,原来不是。我们现在的项目就是用的ibatis+Spring+Struts,而且他们还是自己把struts封装了一遍,不问项目经理,还以为只用了Spring了。
所以想知道Hibernate和ibatis之间的差距的。在用他们的时候有什么差别阿,经理还说在实际应用中,ibatis更受欢迎,为什么啊?Hibernate不也是轻量级的吗?
我只知道Hibernate是自动生成sql语句,而ibatis是自己配制。
大家还知道其他他们之间的差别吗?。都说说,谢谢! --------------------编程问答-------------------- 没用过ibatis,帮顶! --------------------编程问答-------------------- ibatis更简单,易学些 --------------------编程问答-------------------- 如果你把大量的开发精力都投入在业务 那HIB是比较好,但涉及到多表联查还是写SQL比较好。
如果你觉得你的SQL文写的比 凯文.KING 还牛逼 我觉得 HIB就别用了。
性能上我觉得还是IBATIS更好些 因为跟SQL更“近”。
--------------------编程问答-------------------- ibatis 和 Hibernate 都是JPA标准的一种实现,都是将数据库的一部分数据映射到内存,编程时就可以像操作类一样操作数据,本质上是一样的。ibatis,直接写sql语句就能用了,不需要额外的学习hql --------------------编程问答-------------------- 对于具体的数据操作,Hibernate   会自动生成SQL 语句,而ibatis 则要求开发者编写具体的 SQL 语句。相对Hibernate等   “全自动”ORM机制而言,ibatis 以 SQL开发的工作量和数据库移植性上的让步,为系统   设计提供了更大的自由空间。作为“全自动”ORM实现的一种有益补充,ibatis 的出现显   得别具意义。 --------------------编程问答-------------------- Hibernate是完全面向对象的,是要比ibatIS复杂点 --------------------编程问答-------------------- hibernate容易多查表,还有就是多对多关联是配置极其复杂,还有hql不适合写复杂的联合查询,还有hibernate并不比ibatis轻量 --------------------编程问答--------------------  hibernate 好用,还是ibatis好用??? --------------------编程问答-------------------- ibatis是一个半自动框架,说真的学起来真的很简单,入门的你只要会sql就行了,要有java的基础和数据库基础就行,而且ibatis提供的动态sql能省不少的事情,简直太好了,呵呵。不过唯一的差距就是可移植性上、cache上有点差(这一点没看过),其实我个人没有用到cache,但是很多人都认为cache很差劲。开发速度上ibatis应该比较快,还有就像7楼说的一样,hibernate和ibatis相比,hibernate并不比ibatis轻量。 --------------------编程问答-------------------- hibernate是重量级的,ibatis是轻量级的。hibernate全自动的,ibatis是半自动的 --------------------编程问答-------------------- ibatis相对hibernate更灵活,适用于多半联查询,复杂的sql查询,而且,可以拓展实体类! --------------------编程问答-------------------- 更正:ibatis相对hibernate更灵活,适用于多表联查询,复杂的sql查询,而且,可以拓展实体类! --------------------编程问答-------------------- ibatis和hibernate其实各有各的好处,这两者之间要使用哪个,这要看你所做的项目的需求了。
如果对数据库操作较多较复杂,个人感觉还是ibatis比较好,可以自己写逻辑性比较强的sql语句。
同样,如果想要把数据查询出后放入容器中,再对数据进行处理,使用hql会对sql语句要求较低。(个人见解,也在求教) --------------------编程问答-------------------- hibernate框架相对于ibatis来说他更重,但是效率也更低!
本来jdbc的效率是最高的,但是考虑到开发项目的速度,很多代码是重复的,并且为了实现解耦,于是有了
ibatis,他节省了程序员开发项目的时间。同时今后的维护更好!

hibernate虽然强大,但是如果是一个比较小的项目,还要搭建一个那么大的框架,没查询一次要冒出好几个select语句,可见他的运行效率低。但是hibernate还是有它的好处的,对于一个大项目来说,如果以ibatis来开发肯定是比不上hibernate开发速度快,同时hibernate也有些比较好的东西,像分页,高级查询。

所以框架的时候是看情况来说的。
--------------------编程问答-------------------- 根据应用的经验,使用hibernate查询,拼写SQL和session操作上,让人头大,没ibatis方便快捷!应该说是ibatis更适合喜欢手动写SQL(尤其是联合查询SQL)的玩家。
真正性能和原理上的比较,建议LZ去iteye上看一下,有很多行家里手说的刺到骨子里去了。
另外说到大项目上使用ibatis来开发是否比得比不上hibernate的速度,以个人接触的两个大型项目来看,hibernate落后于ibatis。也许不同应用场合下,不可轻言谁更好使。 --------------------编程问答-------------------- 熟悉SQL的,项目需要很多复杂查询的建议使用ibatis。

hibernate对象查询,但对于复杂的查询,很不好写,hql入门难度大

我们的项目都采用hibernate+spring jdbc。 --------------------编程问答--------------------
补充:Java ,  Web 开发
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,