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: 是一个强大、方便、高效、复杂、间接、全自动化的持久层框架
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。