ibatis和hibernate的区别
展开全部
: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高
优点: 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高
展开全部
都是持久层的框架,hibernate只要是按对象的方式存储,让程序员脱离sql,因为sql不是面向对象的。但必要时,hibernate需要用hql,与sql类似,但是面向对象。ibatis我没用过,据网上的介绍,好像是要在配饰文件里面配置sql,具体的就不大清楚了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
hibernate和ibatis都是持久层框架,区别在于ibatis可以自己配置查询的sql语句,经过自己对sql的配置,从查询效率上讲,ibatis比hibernate自己生成的sql效率要高。
也就是说你在hibernate上用hql查询是hibernate自动生成sql,而ibatis是你自己配置的
也就是说你在hibernate上用hql查询是hibernate自动生成sql,而ibatis是你自己配置的
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
JAVA 和 C语言区别
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询