欢迎提出意见和转载。 1 简单简介     1.1    Hibernate 框架          Hibernate凡是一个开放源代码的目标关联映射框架,它对JDBC进行了特别轻量级的对象封装,建立目标以及数库表的照。是一个电动的、完全面向对象的持久层框架。     1...." />

【JAVA框架】Hibernate 与Mybatis 区别

Hibernate Mybatis
简介 区别 与联系

style=”color: #993366; font-size: 18px;”>欢迎提出意见和转载。

1 简单简介

    1.1    Hibernate 框架 

       
Hibernate
凡是一个开放源代码的目标关联映射框架,它对JDBC进行了特别轻量级的对象封装,建立目标以及数库表的照。是一个电动的、完全面向对象的持久层框架。

    1.2    Mybatis框架

       
Mybatis
大凡一个开源对象关联映射框架,原名:ibatis,2010年由谷歌接管后重新叫。是一个半自动化的持久层框架。

2 两者分别

    2.1 开发方

        在类型支付过程当中,就快而言:

           
hibernate开发中,sql语句都给装进,直接可以行使,加快系统开发;

            Mybatis 属于半自动化,sql需要手工完成,稍微麻烦;

       
但是,凡事都不是绝对的,如果对庞复杂的体系项目来说,发杂语句较多,选择hibernate
就不是一个吓方案。

    2.2 sql优化方面

        Hibernate 自动生成sql,有些话较为麻烦,会多消耗一些特性;

        Mybatis 手动编写sql,可以避免不需要的询问,提高系统特性;

    2.3 对象管理于对

        Hibernate
是一体化的对象-关系映射的框架,开发工程中,无需过多关心底层实现,只要去管理对象即可;

        Mybatis 需要活动管理 映射关系;

    2.4 缓存方面**   


相同点:

Hibernate和Mybatis的二级缓存除了采用系统默认的缓存机制外,都可以通过实现你自己的缓存或为其他第三方缓    存方案,创建适配器来完全覆盖缓存行为。

不同点:

Hibernate的二级缓存配置在SessionFactory生成的配置文件中进行详细配置,然后再在具体的表-对象映射中配置是那种缓存。

MyBatis的二级缓存配置都是在每个具体的表-对象映射中进行详细配置,这样针对不同的表可以自定义不同的缓存机制。并且Mybatis可以在命名空间中共享相同的缓存配置和实例,通过Cache-ref来实现。

 

比较:

          Hibernate 负有优秀的管理机制,用户不待关怀SQL,如果二级缓存出现浑浊数据,系统会保留,;

           Mybatis 在应用的早晚要小心谨慎,避免缓存CAche 的施用。


Hibernate优势

  1. Hibernate的DAO层开发比MyBatis简单,Mybatis需要保障SQL和结果映射。

  2. Hibernate对目标的护卫与缓存要较MyBatis好,对增删改查的对象的保安要有利于。

  3. Hibernate数据库移植性很好,MyBatis的数据库移植性不好,不同之数据库需要写不同SQL。

  4. Hibernate有再好之二级缓存机制,可以下第三正值缓存。MyBatis本身提供的缓存机制不优。

Mybatis优势

  1. MyBatis可以展开更密切的SQL优化,可以削减查询字段。

  2. MyBatis容易掌握,而Hibernate门槛较高。

一如既往词话总结

Mybatis:小巧、方便、高效、简单、直接、半自动化

Hibernate:强大、方便、高效、复杂、间接、全自动化

 

网站地图xml地图