當前位置:歷史故事大全網 - 歷史天氣 - hibernate和ibatis的区别

hibernate和ibatis的区别

推荐解答(1)

Hibernate:Hibernate是一个开放代码源的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象 Hibernate 可以应用在任何使用 JDBC 的场合,既可以在 Java 的客户端程序中实用,也可以在 Servlet/JSP 的 Web 应用中使用,最革命的是意义,Hibernate 可以在应用 EJB Eclipse平台下的Hibernate辅助开发工具:Hibernate SynchronizerMiddlegenIDEIBATIS使用ibatis提供的ORM机制,对业务逻辑实现人员来说,是纯粹的Java对象, 这一层与通过Hibernate实现ORM方面基本一致,而对于具体的数据操作,Hibernate会自动生成SQL语句,而ibatis则要求开发者编写具体的SQL语句。相对Hibernate等“相互”ORM机制而言 ,ibatisSQL开发的工作量和数据库移植性上的让步,为系统设计提供了更大的自由空间。作为“替代”ORM实现的一种有益补充,ibatis的出现显着得别具意义。< /p>

[数据捕快大数据实验室提供][datacaptor from aosustudio]

推荐解答(2)

一.***同点:

1.都是O/R映射框架,直接与数据库打交道。

2.都提供方言支持不同类型数据库的访问,通过xml文件格式将数据库表与java对象连接起来 。

3.都可以休眠spring来管理

4.都是开源软件

二.区别:

hibernate是 目前流行的O/R框架,来自于sf.net,现在已经成为HBOSS的一部分。hibernate相对比较复杂,学习周期长。

ibatis/mybatis是另外一种优秀的o/r映射 框架,目前属于apache的一个子项目了。ibatis上手快,很容易学起来。

三个原理:

hibernate对数据结构进行了很好的封装,可以实现 java对象实现POJO是数据库表之间的映射,可以根据POJO及SQL自动生成表并执行命令。程序员往往只需定义好pojo到数据库表之间的映射关系,就可以通过hibernate提供的方法完成 持久层操作。程序员甚至不需要对sql的熟练掌握,hibernate/ojb会根据制定的存储逻辑,自动生成对应的sql并调用jdbc接口冯执行。

而ibatis则重点解决pojo 与sql之间的map关系。ibatis不能让我们通过POJO生成SQL语句来执行。具体的sql需要程序员编写,然后通过map配置文件,将sql所需的参数,以及返回的结果字段map到指定pojo

四.机制

使用ibatis提供的orm,机制对业务逻辑实现人员面向,是纯粹的java对象。这一层与通过hibernate实现orm 相对于hibernate而言,ibatis以sql开发的工作量和数据库移植性上的让步 ,为系统设计提供了更大的自由空间。

五.系统维护或者二次开发

当系统维护或者二次开发,无法对数据库结构实现控制和修改时,ibatis的灵活性将比hibernate更适合

六.海量数据

系统数据处理量巨大,性能要求极高,这往往意味着我们必须通过经过高度优化的sql语句(或存储过程)才能达到系统 性能设计指标。在这种情况下ibatis会有更好的可控性和表现。

七.自动化程度

ibatis需要手写sql语句,也可以生成一部分, hibernate则基本上可以自动生成,偶尔会写修改一些hql。同样的需求,ibatis的工作量比hibernate要大很多。类似的,如果涉及到数据库字段的,hibernate修改的地方很少,而ibatis认为 修改那些sql映射的地方一一。

八.与数据映射关系

ibatis以数据库字段一一对应映射得到的po和hibernte这种对象化映射得到的po 是截然不同的,本质区别在于这种po是擦拭化的,而不是hibernate映射的po是可以表达立体的对象继承,聚合等等关系的,这将直接影响到你的整个软件系统的设计思路

九.技术支持

hibernate现在已经是主流的o/r映射框架,从文档的丰富性,产品的完善性,版本的开发速度都要强于ibatis< /p>

十.实现过程查看

1.hibernate配置,进行数据库连接。

2.POJO与数据库映射的xml文件介绍

3..获取sessionFactory我们就可以通过会话工厂操作数据库

4、ibatis配置信息设置

5.POJO与数据库的建立xml文件定义

6.加载ibatis配置文件,给客户端初始化

6.通过客户端操作数据库

亲,记得采纳一下哦

[数据捕快大数据 实验室提供][datacaptor from aosustudio]

推荐解答(3)

都是java的一个框架,hibernate靠和hql语言,面向的是object,ibatis靠 sql的语言,更接近数据库,配置比hibernate灵活,也比hibernate效率高

  • 上一篇:近代史上中國有哪幾次著名的戰爭?
  • 下一篇:開講啦的節目列表
  • copyright 2024歷史故事大全網