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