Hibernate和MyBatis区别说明
下文笔者讲述Hibernate和MyBatis的区别说明,如下所示
Hibernate和MyBatis的相同点
两个框架都是对jdbc封装 Hibernate和MyBatis都是持久层的框架 Hibernate和MyBatis都用于dao层开发
Hibernate和MyBatis的区别
区别1:映射关系
MyBatis:
是一个半自动映射的框架
用于配置Java对象与sql语句执行结果的对应关系
多表关联关系配置简单
Hibernate:
是一个全表映射的框架
配置Java对象与数据库表的对应关系
多表关联关系配置复杂
区别2:SQL优化和移植性
Hibernate:
对SQL语句封装,提供了日志、缓存、级联(级联比 MyBatis强大)等特性
此外还提供HQL(Hibernate Query Language)操作数据库
数据库无关性支持好
但会多消耗性能
如果项目需要支持多种数据库,代码开发量少,但SQL语句优化困难
MyBatis:
需要手动编写SQL
支持动态SQL、处理列表、动态生成表名、支持存储过程
开发工作量相对大些
直接使用SQL语句操作数据库,不支持数据库无关性,但sql语句优化容易
区别3:开发难易程度和学习成本
Hibernate:
是重量级框架
学习使用门槛高
适合于需求相对稳定
中小型的项目,如:办公自动化系统
MyBatis:
是轻量级框架,学习使用门槛低,
适合于需求变化频繁,大型的项目
如:互联网电子商务系统
从上面的描述,我们可以得出以下结论
MyBatis:
是一个小巧、方便、高效、简单、直接、半自动化的持久层框架
Hibernate:
是一个强大、方便、高效、复杂、间接、全自动化的持久层框架
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。


