相同点:sql Hibernate和Mybatis的二级缓存除了采用系统默认的缓存机制外,均可以经过实现你本身的缓存或为其余第三方缓 存方案,建立适配器来彻底覆盖缓存行为。数据库 不一样点:缓存 Hibernate的二级缓存配置在SessionFactory生成的配置文件中进行详细配置,而后再在具体的表-对象映射中配置是那种缓存。框架 MyBatis的二级缓存配置都是在每一个具体的表-对象映射中进行详细配置,这样针对不一样的表能够自定义不一样的缓存机制。而且Mybatis能够在命名空间中共享相同的缓存配置和实例,经过Cache-ref来实现。性能 |
比较:优化
Hibernate的DAO层开发比MyBatis简单,Mybatis须要维护SQL和结果映射。hibernate
Hibernate对对象的维护和缓存要比MyBatis好,对增删改查的对象的维护要方便。对象
Hibernate数据库移植性很好,MyBatis的数据库移植性很差,不一样的数据库须要写不一样SQL。开发
Hibernate有更好的二级缓存机制,可使用第三方缓存。MyBatis自己提供的缓存机制不佳。自动化
MyBatis能够进行更为细致的SQL优化,能够减小查询字段。
MyBatis容易掌握,而Hibernate门槛较高。
Mybatis:小巧、方便、高效、简单、直接、半自动化
Hibernate:强大、方便、高效、复杂、间接、全自动化