mybatis hibernate比较

开发速度:

如果一个项目中用到的复杂的查询基本没有,就是简单的增删该查,这样选择hibernate效率就很快了,因为基本的sql语句已经被封装好了,根本不用去写sql语句,但是对于一个大型项目,复杂语句比较多,这样就选择mybatis,这样语句管理方便。
sql优化方面:
hibernate的查询会将表中的所有字段查询出来,这有点耗性能。mybatis的Sql是手动编写的,所以可以按需求指定查询字段。
开发工作量方面:hibernate和mybatis都有相应的代码生成工具,可以生成简单的基本dao层方法。mybatis需要手动编写sql语句,以及ResultMap.hibernate有良好的映射机制,开发者无需关心SQL的生成与结果映射,可以更专注于业务流程。但是,现在mybatis有一些插件功能,也基本能使自动生成相应的mapper映射,也能生成ResultMap.这也是为什么越来越多的人喜欢使用mybatis的原因了
缓存方面:
Hibernate有更好的二级缓存机制,可以使用第三方缓存。MyBatis本身提供的缓存机制不佳
相同之处:都是可以通过SessionFactoryBuider由XML配置文件生成SessionFactory,然后由sessionFactory生成session,最后由Session来开启执行事务和SQL语句。都支持jdbc事务处理
总之:大项目用mybatis 小项目用hibernate
原文地址:https://www.cnblogs.com/fufuxi869/p/6034049.html