ibatis与hibernate有什么区别
来源:互联网 发布:oracle数据库专家认证 编辑:程序博客网 时间:2024/05/19 16:35
iBatis的sql语句需要自己手动写,而Hibernate能够在程序运行时自动生成。但是不要就这样以为Hibernate比iBatis方便,其 实二者熟悉之后的效率差不多。而Hibernate还能够自动建表等等,这样的好处就在于你带着这个程序,无论到什么机器上,你都不需要数据库,应为它能 自动为你完成,而iBatis就必须要有相应的数据库表才能进行移植
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会有更好的可控性和表现。
现在就市场来说,Hibernate的需求要大于iBatis的需求,而Hibernate对个人能力的要求更高,即使公司使用iBatis,你在Hibernate的基础上也能快速掌握。
总结:
面试的时候, 从这两个地方想,
1. 在考虑性能问题时, 用哪个更好?
2. 在做大型项目室, 用哪个更好?
依据这两个问题来回答, 基本这题肯定就过关了.
基础概念上,
Hibernate基于ORM, 使用hql 语句
iBatis直接使用sql
- ibatis与hibernate有什么区别啊?
- ibatis与hibernate有什么区别啊?
- ibatis与hibernate有什么区别啊?
- ibatis与hibernate有什么区别
- ibatis与hibernate有什么区别啊?
- ibatis与hibernate有什么不同
- iBatis与Hibernate有什么不同
- iBatis与Hibernate有什么不同
- 请问iBatis和Hibernate有什么区别呀
- ibatis与hibernate区别
- iBatis与Hibernate区别?
- hibernate 与 ibatis 的区别
- Hibernate与Ibatis的区别
- Hibernate与iBatis的区别
- Ibatis与Hibernate的区别
- ibatis与hibernate的区别
- iBATIS与Hibernate的区别
- hibernate与ibatis的区别
- leach协议的nam过程实现!(转)
- 虚拟文件系统:VFS
- 观察者设计模式
- 关于Server.MapPath()的命名空间
- 人生历练必备的十个心态(图)
- ibatis与hibernate有什么区别
- 阶乘的精确值
- NS2如何在路由层获取队列的长度
- Hadoop使用常见问题以及解决方法 (转)
- 改进版的 setdest
- Maven之pom.xml详解
- Android chromium 和 Android Webkit 区别
- wxPython的使用
- 面试——java的设计模式