人圭先生 2014-06-18
相同点:屏蔽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 语句。
如:对于sql语句order by #user_id#,如果传入的值是111,那么解析成sql时的值为order by "111", 如果传入的值是id,则解析成的sql为order by "id"。