- 9
- 0
- 约 13页
- 2016-11-26 发布于重庆
- 举报
Hibernate與MyBatis的比较
Hibernate与 MyBatis的比较
分类: J2EE 2012-11-16 11:42 8719人阅读 评论(6) 收藏 举报 hibernateHibernateibatisIBATISMyBatismybatis
目录(?)[+]
第一章Hibernate与MyBatis
Hibernate简介
MyBatis简介
第二章 开发对比
开发速度
开发社区
开发工作量
第三章 系统调优对比
Hibernate的调优方案
Mybatis调优方案
SQL优化方面
扩展性方面
第四章 对象管理与抓取策略
对象管理
抓取策略
第五章 缓存机制对比
Hibernate缓存
MyBatis缓存
相同点
不同点
两者比较
第六章Hibernate与Mybatis对比总结
两者相同点
Mybatis优势
Hibernate优势
他人总结
第一章?????Hibernate与MyBatis
Hibernate?是当前最流行的O/R mapping框架,它出身于,现在已经成为Jboss的一部分。?Mybatis?是另外一种优秀的O/R mapping框架。目前属于apache的一个子项目。
MyBatis?参考资料官网:/core/zh/index.html??
Hibernate参考资料:?/hibernate/core/3.6/reference/zh-CN/html_single/
1.1 Hibernate?简介
Hibernate对数据库结构提供了较为完整的封装,Hibernate的O/R Mapping实现了POJO?和数据库表之间的映射,以及SQL?的自动生成和执行。程序员往往只需定义好了POJO?到数据库表的映射关系,即可通过Hibernate?提供的方法完成持久层操作。程序员甚至不需要对SQL?的熟练掌握,?Hibernate/OJB?会根据制定的存储逻辑,自动生成对应的SQL?并调用JDBC?接口加以执行。
1.2 MyBatis简介
iBATIS?的着力点,则在于POJO?与SQL之间的映射关系。然后通过映射配置文件,将SQL所需的参数,以及返回的结果字段映射到指定POJO。 相对Hibernate“O/R”而言,iBATIS?是一种“Sql Mapping”的ORM实现。
第二章 开发对比
开发速度
Hibernate的真正掌握要比Mybatis来得难些。Mybatis框架相对简单很容易上手,但也相对简陋些。个人觉得要用好Mybatis还是首先要先理解好Hibernate。
开发社区
Hibernate?与Mybatis都是流行的持久层开发框架,但Hibernate开发社区相对多热闹些,支持的工具也多,更新也快,当前最高版本4.1.8。而Mybatis相对平静,工具较少,当前最高版本3.2。
开发工作量
Hibernate和MyBatis都有相应的代码生成工具。可以生成简单基本的DAO层方法。
针对高级查询,Mybatis需要手动编写SQL语句,以及ResultMap。而Hibernate有良好的映射机制,开发者无需关心SQL的生成与结果映射,可以更专注于业务流程。
第三章 系统调优对比
Hibernate的调优方案
制定合理的缓存策略;
尽量使用延迟加载特性;
采用合理的Session管理机制;
使用批量抓取,设定合理的批处理参数(batch_size);
进行合理的O/R映射设计
Mybatis调优方案
MyBatis在Session方面和Hibernate的Session生命周期是一致的,同样需要合理的Session管理机制。MyBatis同样具有二级缓存机制。?MyBatis可以进行详细的SQL优化设计。
SQL优化方面
Hibernate的查询会将表中的所有字段查询出来,这一点会有性能消耗。Hibernate也可以自己写SQL来指定需要查询的字段,但这样就破坏了Hibernate开发的简洁性。而Mybatis的SQL是手动编写的,所以可以按需求指定查询的字段。
Hibernate HQL语句的调优需要将SQL打印出来,而Hibernate的SQL被很多人嫌弃因为太丑了。MyBatis的SQL是自己手动写的所以调整方便。但Hibernate具有自己的日志统计。Mybatis本身不带日志统计,使用Log4j进行日志记录。
扩展性方面
Hibernate与具体数据库的关联只需在XML文件中配置即可,所有的HQL语句与具体使用的数据库无关,移植性很好。MyBatis项目中所有的SQL语句都是依赖所用的数据库的,所以不同数据库类型的支持不好。
第四章 对象管理与抓取策略
对象管理
Hibernate?是完整的对象/关系映射解决方案,它提供了对象状态管理(state management)的功能,使开发者不再需
您可能关注的文档
- gz_-KQF公司的營销策略.doc
- G公司汽車售后服务质量的现状和问题分析.doc
- GSM蜂窩移动通信网络中移动性的管理.doc
- G以太網的应用研究.doc
- GSM層3信令在路测掉话中的分析和应用.doc
- Gwpopu財务管理专业职业生涯规划.doc
- GSM網规网优部基于MR的网络优化工作指导书V10.doc
- G終端的关键技术和发展趋势.doc
- H-piles與Mini-piles的设计分析.doc
- h05《提升金魚幸福感的思考溶解氧的测定》教学设计.doc
- 2025-2026学年天津市和平区高三(上)期末数学试卷(含解析).pdf
- 2025-2026学年云南省楚雄州高三(上)期末数学试卷(含答案).pdf
- 2025-2026学年甘肃省天水市张家川实验中学高三(上)期末数学试卷(含答案).docx
- 2025-2026学年福建省厦门市松柏中学高二(上)期末数学试卷(含答案).docx
- 2025-2026学年广西钦州市高一(上)期末物理试卷(含答案).docx
- 2025-2026学年河北省邯郸市临漳县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省石家庄二十三中七年级(上)期末历史试卷(含答案).docx
- 2025-2026学年海南省五指山市九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省唐山市玉田县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省邢台市市区九年级(上)期末化学试卷(含答案).docx
最近下载
- BSC-1100ⅡA2-X和1500A2生物安全柜产品使用说明书.pdf VIP
- 2026年江西青年职业学院单招职业技能考试必刷测试卷附答案.docx VIP
- 高中物理校本课程教材.docx VIP
- 南京医科大学-药理学-期末复习资料汇总.pdf VIP
- 2025年江西青年职业学院单招职业技能考试必刷测试卷附答案.docx VIP
- 北京航空航天大学《飞行器设计》期末考核试卷(含答案).docx VIP
- 第七章 part3幼儿园教职工配备标准 (暂行)(课件)2024年《学前教育政策法规》同步教学(高教版).pptx VIP
- 2024年山东职业学院高职单招(英语/数学/语文)笔试历年真题摘选含答案解析.docx
- 复旦大学保险公司财务管理第五章 保险公司财务比率分析.ppt VIP
- 患者十大安全目标(2025)PPT课件.pptx VIP
原创力文档

文档评论(0)