ibatis和hibernate的区别

 我来答
yongtaohuang
2012-12-15
知道答主
回答量:3
采纳率:0%
帮助的人:2.9万
展开全部
:Hibernate是一个开放源代码的对象关系映射框架,是个轻量级框架,用来完成数据库表的映射,实现数据持久层
优点: Hibernate 使用 Java 反射机制增强程序来实现透明性。性能比较好,可以很好的映射各种关系型数据库,实现一对一到多对多的各种复杂关系。
缺点:对持久层数据封装过于完整,无法对SQL进行优化,如果数据库的表过多,关系过于复杂,Hibernate就会出现庞大的配置而且对于关系的维护也将变得很复杂文件,,另外对执行批量操作的性能也比较低
对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码。
Hibernate是一个基于JDBC的主流持久化框架,是一个优秀的ORM实现。他很大程度的简化DAO层的编码工作

iBATIS需要手写sql语句,也可以生成一部分,Hibernate则基本上可以自动生成,偶尔会写一些Hql。
同样的需求,iBATIS的工作量比Hibernate要大很多。类似的,如果涉及到数据库字段的修改,
Hibernate修改的地方很少,而iBATIS要把那些sql mapping的地方一一修改。2. iBatis 可以进行细粒度的优化3. 开发方面:
开发效率上,我觉得两者应该差不多。可维护性方面,我觉得 iBatis 更好一些。因为 iBatis 的 sql 都保存到单独的文件中。而 Hibernate 在有些情况下可能会在 java 代码中保sql/hql。
执行批量操作时ibatis执行效率要不hibernate高
我是北堂风
2012-12-14 · TA获得超过594个赞
知道小有建树答主
回答量:657
采纳率:0%
帮助的人:275万
展开全部
都是持久层的框架,hibernate只要是按对象的方式存储,让程序员脱离sql,因为sql不是面向对象的。但必要时,hibernate需要用hql,与sql类似,但是面向对象。ibatis我没用过,据网上的介绍,好像是要在配饰文件里面配置sql,具体的就不大清楚了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
绝斗
2012-12-14 · TA获得超过177个赞
知道答主
回答量:106
采纳率:0%
帮助的人:66.3万
展开全部
hibernate和ibatis都是持久层框架,区别在于ibatis可以自己配置查询的sql语句,经过自己对sql的配置,从查询效率上讲,ibatis比hibernate自己生成的sql效率要高。
也就是说你在hibernate上用hql查询是hibernate自动生成sql,而ibatis是你自己配置的
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
bd9006
2012-12-14 · TA获得超过2.5万个赞
知道大有可为答主
回答量:4.8万
采纳率:63%
帮助的人:1.6亿
展开全部
JAVA 和 C语言区别
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式