【JAVA框架】Mybatis和Hibernate的区别

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/j15533415886/article/details/80766341

一、相同点
Mybatis和Hibernate都是java中ORM框架、屏蔽jdbc api 的底层访问细节,使用时我们不用与jdbc api打交道,就可以完成对数据库的持久化操作。jdbc api编程流程固定,还将sql语句与java代码混杂在一起,经常需要拼凑sql语句,细节很繁琐。
1).Mybatis的优点
屏蔽jdbc api的底层访问细节,将sql语句与java代码进行分离,提供了将结果集自动封装称为实体对象和对象的集合的功能,queryForList返回对象集合,用queryForObject返回单个对象,提供了自动将实体对象的属性传递给SQL语句的参数。
2).Hibernate的优点
Hibernate是一个全自动的ORM映射工具,它可以自动生成sql语句,并执行返回java结果。

二、不同点
1)
hibernate比Mybatis功能强大,因为hibernate自动生成SQL语句。
2)
Mybatis需要我们自己在xml配置文件中写SQL语句,hibernate我们无法直接控制该语句,我们就无法去写特定的高效率的SQL,对于一些不太复杂的SQL查询,hibernate可以很好帮助我们完成,但是对于特别复杂的查询,hibernate就很难适应了,这时候用mybatis就是不错的选择,因为mybatis还是由我们自己写SQL语句。
3)
mybatis比hibernate简单的多,mybatis是面向SQL的,不用考虑对象间一些复杂的映射关系。

总结
mybatis:机械工具,使用方便,拿来就用,但工作还是要自己来作,不过工具是活的,怎么使由我决定。

hibernate:智能机器人,但研发它(学习、熟练度)的成本很高,工作都可以摆脱他了,但仅限于它能做的事。

猜你喜欢

转载自blog.csdn.net/j15533415886/article/details/80766341