javaEE中Hibernate和ibatiS的区别总结

来源:互联网 发布:小黄人玩偶淘宝 编辑:程序博客网 时间:2024/05/16 01:11

这两个框架都是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。


0 0
原创粉丝点击