javaEE中Hibernate和ibatiS的区别总结
2014-11-06 11:06
239 查看
这两个框架都是java中数据持久层的框架,都是对数据库的相关操作
hibernate简单的说就是不需要程序员自己写Sql语句了,只需定义好了pojo 到数据库表的映射关系,相应的sql语句就会自动生成和执行了
ibatiS就不一样了,它需要程序员自己手动的编写Sql语句,然后调用相应的jdbc接口执行相关操作
hibernate与ibatis的对比:
1.ibatis非常简单易学,hibernate相对较复杂,门槛较高。
2.二者都是比较优秀的开源产品
3.当系统属于二次开发,无法对数据库结构做到控制和修改,那ibatis的灵活性将比hibernate更适合
4.系统数据处理量巨大,性能要求极为苛刻,这往往意味着我们必须通过经过高度优化的sql语句(或存储过程)才能达到系统性能设计指标。在这种情况下ibatis会有更好的可控性和表现。
5.ibatis需要手写sql语句,也可以生成一部分,hibernate则基本上可以自动生成,偶尔会写一些hql。同样的需求,ibatis的工作量比hibernate要大很多。类似的,如果涉及到数据库字段的修改,hibernate修改的地方很少,而ibatis要把那些sql mapping的地方一一修改。
6.以数据库字段一一对应映射得到的po和hibernte这种对象化映射得到的po是截然不同的,本质区别在于这种po是扁平化的,不像hibernate映射的po是可以表达立体的对象继承,聚合等等关系的,这将会直接影响到你的整个软件系统的设计思路。
7.hibernate现在已经是主流o/r mapping框架,从文档的丰富性,产品的完善性,版本的开发速度都要强于ibatis。
hibernate简单的说就是不需要程序员自己写Sql语句了,只需定义好了pojo 到数据库表的映射关系,相应的sql语句就会自动生成和执行了
ibatiS就不一样了,它需要程序员自己手动的编写Sql语句,然后调用相应的jdbc接口执行相关操作
hibernate与ibatis的对比:
1.ibatis非常简单易学,hibernate相对较复杂,门槛较高。
2.二者都是比较优秀的开源产品
3.当系统属于二次开发,无法对数据库结构做到控制和修改,那ibatis的灵活性将比hibernate更适合
4.系统数据处理量巨大,性能要求极为苛刻,这往往意味着我们必须通过经过高度优化的sql语句(或存储过程)才能达到系统性能设计指标。在这种情况下ibatis会有更好的可控性和表现。
5.ibatis需要手写sql语句,也可以生成一部分,hibernate则基本上可以自动生成,偶尔会写一些hql。同样的需求,ibatis的工作量比hibernate要大很多。类似的,如果涉及到数据库字段的修改,hibernate修改的地方很少,而ibatis要把那些sql mapping的地方一一修改。
6.以数据库字段一一对应映射得到的po和hibernte这种对象化映射得到的po是截然不同的,本质区别在于这种po是扁平化的,不像hibernate映射的po是可以表达立体的对象继承,聚合等等关系的,这将会直接影响到你的整个软件系统的设计思路。
7.hibernate现在已经是主流o/r mapping框架,从文档的丰富性,产品的完善性,版本的开发速度都要强于ibatis。
相关文章推荐
- JDBC iBatis Hibernate的区别及各自的优缺点总结
- ibatis in Spring 和 Hibernate in Spring 的区别
- 选用ibatis和hibernate的区别
- hibernate 与 ibatis的区别是什么?
- 选用Ibatis和Hibernate的区别2
- 选用Ibatis和Hibernate的区别3
- hibernate 与 ibatis 的区别
- Hibernate与Ibatis的区别
- ibatis和hibernate区别
- web面试常问的一个问题 选用ibatis和hibernate的区别
- Ibatis与Hibernate的区别 (转载)
- 选用hibernate和IBATIS的区别
- ibatis和hibernate区别 [转]
- ibatis和hibernate的区别
- 总结hibernate的各种保存方式的区别 (save,persist,update,saveOrUpdte,merge,flush,lock)
- 请问iBatis和Hibernate有什么区别呀
- hibernate和ibatis的区别
- 浅谈Hibernate和Ibatis区别
- Ibatis与Hibernate之间的区别汇总
- 选用ibatis和hibernate的区别