mybatis 和 hibernate 的区别有哪些?


1、两者最大的区别

     针对简单逻辑,都有对应的代码生成工具,可以生成简单基本的dao层方法;
     针对高级查询,mybatis要手动编写sql语句和resultMap,而hibernate有良好的映射机制;

2、开发难度对比

  hibernate > mybatis

3、日志统计

  • hibernate有自己的日志统计功能,而mybatis需要借助log4j来记录日志。

4、数据库扩展比较

    hibernate > mybatis

5、缓存机制比较

     因为hibernate对查询对象有良好的管理机制,用户无需关心sql,所以使用二级缓存如果出现脏数据,系统会报错。

     而mybatis,如果不能获取最新数据,应该避免缓存的使用,脏数据的出现会给系统的正常运行带来很大的隐患。

6、如何选择

    mybatis需要编写sql和映射规则,工作量大于hibernate;
    mybatis支持的工具也有限,不能像hibernate那样有许多插件可以帮助生成映射代码和关联关系;
    对于性能要求不太苛刻的系统,比如管理系统、ERP等推荐hibernate;
    对于性能要求高、响应快、灵活的系统,比如电商系统,推荐使用mybatis;

0 0
讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!
帮助