mybatis和hibernate的两者的优缺点
1.开发上手难度
hibernate 封装的功能和特性比较多,比mybatis掌握要难
2.系统调优方案
Hibernate:
制定合理的缓存策略
尽量使用延迟加载的特性
采用合理的session管理机制
使用批量抓取,设定合理的批处理参数
进行合理的O/R映射设计
MyBatis:
session生命周期和hibernate一致,同样需要合理的session管理机制
mybatis同样具有二级缓存机制
mybatis可以进行详细的sql优化设计
3.sql优化方面
Hibernate会将表中的所有字段查询出来
Hibernate也可以自己写sql来制定查询的字段,但这样就破坏了hibernate的开发的简洁性
Mybatis中sql是手动编写的,所以可以按需求指定查询的字段
总:Hibernate封装好,通用的sql。 mybatis灵活,可控性好
4.移植性
Hibernate与具体的数据库的关联只需在XML文件中配置即可,所有的HQL语句与具体使用的数据库无关,移植性好
Mybatis项目中的所有sql语句都是依赖所用的数据库的,所以不同数据库类型的支持不好
5.JDBC
Hibernate是在JDBC上进行了一次封装
Mybatis是基于原生的JDBC的,Mybatis有运行速度上的优势。
6.动态sql
Mybatis mapper xml支持动态sql
Hibernate不支持

浙公网安备 33010602011771号