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

iBatis和Hibernate之间有着较大的差异,但两者解决方案很好,因为他们有特定的领域。我个人建议使用MyBatis的,如果:

  • 你想创建自己的SQL,并愿意维持他们.

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

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

简单地要使用Hibernate,如果:

  • 你的环境是由对象模型驱动的,并希望自动生成的SQL。

要计算的一些区别:

  • MyBatis:
    • 简单

    • 更快的开发时间

    • 灵活

    • 封装尺寸更小

  • 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)调试

上一篇:MyBatis知多少(21)更新操作


下一篇:ArcSDE for Oracle表空间管理——暂时(TEMP)表空间