相同点
屏蔽JDBC api的底层访问细节,使我们不用与JDBC api打交道,就可以访问数据。
JDBC api编程流程固定,还将sql语句与java代码混杂在了一起,经常需要拼凑sql语句,细节很繁琐。
Mybaits的好处
- 屏蔽JDBC api的底层访问细节
- 将sql语句与java代码进行分离
- 提供了将结果集自动封装称为实体对象和对象集合的功能
- 提供了自动将实体对象的属性传递给SQL语句的参数
Hibernate的好处
- Hibernate是一个全自动的ORM映射工具,它可以自动生成sql语句
- 而Mybatis需要我们自己在xml配置文件中写sql语句,Hibernate要比Mybatis功能负责和强大很多
- 因为Hibernate自动生成sql语句,我们无法控制该语句,我们就无法去写特定的高效率sql
- 对于一些不太复杂的sql查询,Hibernate可以很好的帮我们完成
- 但是,对于特别复杂的sql查询,Hibernate很难适应,这时候Mybatis就是很好的选择了。