看图
Hibernate | mybatis | |
难易度 | 难 | 简单,容易上手 |
编码 | 良好的映射机制,不需要关心 | 需要手动编写sql,resultMap |
调优 |
|
|
sql优化 |
|
|
数据库 | 数据库关联只需要xml中配置,移植性很好 | sql语句依赖数据库,不同数据库类型的支持不好 |
抓取策略 |
对于每一个关联关系都可以详细地设置是否延迟加载, 并且提供关联抓取、查询抓取、子查询抓取、批量抓取四种模式。 |
延迟加载是全局配置的 |
缓存 |
二级缓存配置在SessionFactory生成的配置文件中进行详细配置。 |
二级缓存配置都是在每个具体的表-对象映射中进行详细配置 |
|
||
代码 | 都是流行的持久层开发框架,都有相应的代码生成工具,生成最基本的Dao层方法。 |
总而言之:mybatis更简单,容易上手,优点是更为细致的SQL优化,可以减少查询字段。
hibernate 功能更强大,对对象的维护和缓存要好,数据库移植性好,更好的缓存机制。