ibatis与hibernate有什么区别

最大的区别在于:ibatas的sql语句须要本身手动写,而hibernate可以在程序运行时自动生成。可是不要就这样觉得hibernate比ibatas方便,其实两者熟悉以后的效率差很少。而hibernate还可以自动建表等等,这样的好处就在于你带着这个程序,不管到什么机器上,你都不须要数据库,应为它能自动为你完成,而ibatas就必需要有相应的数据库表才能进行移植Hibernate的特色:Hibernate功能强大,数据库无关性好,O/R(对象/关系)映射能力强,若是你对Hibernate至关精通,并且对Hibernate进行了适当的封装,那么你的项目整个持久层代码会至关简单,须要写的代码不多,开发速度很快,很是爽。Hibernate对数据库结构提供了较为完整的封装,Hibernate的O/R Mapping实现了POJO(实体类) 和数据库表之间的映射,以及SQL 的自动生成和执行。程序员每每只需定义好了POJO 到数据库表的映射关系,便可经过Hibernate 提供的方法完成持久层操做。程序员甚至不须要对SQL 的熟练掌握, Hibernate/OJB 会根据制定的存储逻辑,自动生成对应的SQL 并调用JDBC 接口加以执行。Hibernate的缺点就是学习门槛不低,要精通门槛更高,并且怎么设计O/R映射,在性能和对象模型之间如何权衡取得平衡,以及怎样用好Hibernate方面须要你的经验和能力都很强才行,可是Hibernate如今已是主流O/R Mapping框架,从文档的丰富性,产品的完善性,版本的开发速度都要强于iBATIS。iBATIS的特色:iBATIS入门简单,即学即用,提供了数据库查询的自动对象绑定功能,并且延续了很好的SQL使用经验,对于没有那么高的对象模型要求的项目来讲,至关完美。iBATIS的缺点就是框架仍是比较简陋,功能尚有缺失,虽然简化了数据绑定代码,可是整个底层数据库查询实际仍是要本身写的,工做量也比较大,并且不太容易适应快速数据库修改。当系统属于二次开发,没法对数据库结构作到控制和修改,那iBATIS的灵活性将比Hibernate更适合。系统数据处理量巨大,性能要求极为苛刻,这每每意味着咱们必须经过通过高度优化的SQL语句(或存储过程)才能达到系统性能设计指标。在这种状况下iBATIS会有更好的可控性和表现。
相关文章
相关标签/搜索