Java主流开发框架(五):MyBatis与Hibernate的区别
前言:其他内容正在学习中…
【答案】
Hibernate :Hibernate 是当前最流行的ORM框架,对数据库结构提供了较为完整的封装。
Mybatis:Mybatis同样也是非常流行的ORM框架,主要着力点在于POJO 与SQL之间的映射关系。
MyBatis和Hibernate的区别:
MyBatis的优点是代码开发量少、简单易上手、SQL语句和代码分离(便于修改)、数据库可移植;但是,其缺点是SQL语句需要自己写,并且参数只能有一个。
Hibernate的优点是进行了对象关系数据库映射、完全面向对象、提供缓存机制和HQL编程;其缺点是不能灵活使用原生SQL、无法对SQL优化、全表映射效率低下并且存在N+1的问题。
【题目拓展】
- 对象关系映射(Object Relational Mapping,简称ORM)是通过使用描述对象和数据库之间映射的元数据,将面向对象语言程序中的对象自动持久化到关系数据库中。本质上就是将数据从一种形式转换到另外一种形式。 这也同时暗示着额外的执行开销;然而,如果ORM作为一种中间件实现,则会有很多机会做优化,而这些在手写的持久层并不存在。 更重要的是用于控制转换的元数据需要提供和管理;但是同样,这些花费要比维护手写的方案要少;而且就算是遵守ODMG规范的对象数据库依然需要类级别的元数据。