MyBatis 和 Hibernate的区别

整体分析 :
MyBatis 不是一个完全的ORM框架,什么是ORM框架?
ORM : Object Relational Mapping 对象关系映射
而 Hibernate就是ORM框架
ORM就是将java中的对象与数据库中的表数据库关联对应起来

Hibernate : java对象拥有三种状态,临时状态/瞬时状态,游离状态,持久状态,当这些状态发生改变的时候,会自动对数据库发送SQL语句,进行数据库操作
相对于MyBatis,Hibernate更加复杂,沉重
它有SQL,HQL,QBC/QBE 三种查询方式,也就意味着在SQL语句优化的时候会遇到一些问题

而学习MyBatis的学习成本要小于Hibernate很多,我们只需要编写原生的SQL就能完成,并且SQL的控制权在我们手中,优化方便,上手快,灵活度高
但是数据移植方面,比较麻烦,如果将MySQL数据移植到oracle上,那么SQL也要发生变化
Hibernate可以配置数据库,能够自动生成对应的数据库版本的SQL语句

猜你喜欢

转载自blog.csdn.net/a290575479/article/details/106789329