Mybatis与Hibernate的区别
1.查询方面
Mybatis需要手动编写SQL以及ResultMap
Hibernate基本不用手动编写
2.SQL优化方面
Hibernate默认会查询所有字段,消耗较大
Mybatis可以按需求查询指定字段
3.日志方面
Hibernate具有自己的日志统计体系
Mybatis本身不带日志统计,它使用log4j进行日志统计
4.可扩展性方面
Hibernate的HQL语句与具体数据库无关,移植性很好
Mybatis所有的SQL语句与具体数据库关联,移植性很差
5.缓存机制对比
Hibernate的二级缓存配置在SessionFactory生成的配置文件中进行配置,然后再在具体的表-对象映射中配置是那种缓存。
MyBatis的二级缓存配置都是在每个具体的表-对象映射中 进行配置,这样针对不同的表可以自定义不同的缓存机制。
总结
mybatis适合开发需求变更频繁的系统
hibernate适合需求固定,对象数据模型稳定