MyBatis知多少(26)MyBatis和Hibernate区别

iBatis和Hibernate之间有着较大的差别,但二者解决方案很好,由于他们有特定的领域。我我的建议使用MyBatis的,若是:html

  • 你想建立本身的SQL,并愿意维持他们.数据库

  • 你的环境是由关系数据模型驱动的。缓存

  • 你的项目工做有复杂架构的。架构

简单地要使用Hibernate,若是:框架

  • 你的环境是由对象模型驱动的,并但愿自动生成的SQL。工具

要计算的一些区别:spa

  • MyBatis:
    • 简单调试

    • 更快的开发时间htm

    • 灵活对象

    • 封装尺寸更小

  • Hibernate:
    • 为你生成SQL,这意味着你不用花时间在SQL上。

    • 提供了许多更先进的高速缓存

    • 高可扩展性

另外一个区别是,MyBatis利用SQL语句多是依赖数据库,使用Hibernate的HQL是相对独立于数据库,它是更容易改变数据库。

Hibernate映射的Java做为POJO对象,MyBatis将ResultSet映射,从JDBC API给出POJO OBJETS的数据库表。

若是您使用存储过程,那么在Hibernate中能够作到这一点,但它在MyBatis比较有点困难。做为一种替代的解决方案MyBatis的映射结果集对象,因此不必去关心表结构。这很是适用于存储过程,很是适用于报表应用程序等

最后,Hibernate和MyBatis的都是开源的对象关系映射(ORM)在同行业中可用的工具。使用这些工具的取决于你。Hibernate和MyBatis二者也有来自Spring框架的良好支持,以便它不该该是一个问题,选择其中之一。

系列文章:

MyBatis知多少(1)

MyBatis知多少(2)

MyBatis知多少(3)

MyBatis知多少(4)MyBatis的优点

MyBatis知多少(5)业务对象模型

MyBatis知多少(6)表现层与业务逻辑层

MyBatis知多少(7)持久层

MyBatis知多少(8)关系型数据库

MyBatis知多少(9)不一样类型的数据库

MyBatis知多少(10)应用程序数据库

MyBatis知多少(11)企业数据库

MyBatis知多少(12)私有数据库

MyBatis知多少(13)MyBatis如何解决数据库的常见问题

MyBatis知多少(14)分散的数据库系统

MyBatis知多少(15)数据模型

MyBatis知多少(16)MyBatis映射

MyBatis知多少(17)MyBatis和JDBC

MyBatis知多少(18)MyBatis系统

MyBatis知多少(19)MyBatis操做

MyBatis知多少(20)MyBatis读取操做

MyBatis知多少(21)更新操做

MyBatis知多少(22)MyBatis删除操做

MyBatis知多少(23)MyBatis结果映射

MyBatis知多少(24)存储过程

MyBatis知多少(25)动态SQL

MyBatis知多少(26)调试

相关文章
相关标签/搜索