千锋教育-做有情怀、有良心、有品质的职业教育机构
1. 两者最大的区别
针对简单逻辑,都有对应的代码生成工具,可以生成简单基本的dao层方法;
针对高级查询,mybatis要手动编写sql语句和resultMap,而hibernate有良好的映射机制;
2. 开发难度对比
hibernate > mybatis
3. 日志统计
hibernate有自己的日志统计功能,而mybatis需要借助log4j来记录日志。
4. 数据库扩展比较
hibernate > mybatis
5. 缓存机制比较
因为hibernate对查询对象有良好的管理机制,用户无需关心sql,所以使用二级缓存如果出现脏数据,系统会报错。
而mybatis,如果不能获取最新数据,应该避免缓存的使用,脏数据的出现会给系统的正常运行带来很大的隐患。
6. 如何选择
mybatis需要编写sql和映射规则,工作量大于hibernate;
mybatis支持的工具也有限,不能像hibernate那样有许多插件可以帮助生成映射代码和关联关系;
对于性能要求不太苛刻的系统,比如管理系统、ERP等推荐hibernate;
对于性能要求高、响应快、灵活的系统,比如电商系统,推荐使用mybatis;
更多关于“Java培训”的问题,欢迎咨询千锋教育在线名师。千锋已有十余年的培训经验,课程大纲更科学更专业,有针对零基础的就业班,有针对想提升技术的好程序员班,高品质课程助力你实现java程序员梦想。
相关推荐