Ibatis很是简单易学,Hibernate相对较复杂,门槛较高。java
Ibatis是SQL Mapping,是属于扁平化的(基础数据类型映射),而Hibernate是O/R Mapping,是立体的,能够表达立体的对象继承,聚合等等关系的。sql
当系统属于二次开发,没法对数据库结构作到控制和修改,那Ibatis的灵活性将比Hibernate更适合数据库
开发效率上: 二者应该差很少 。 可维护性方面: Ibatis更好一些。由于Ibatis的sql都保存到单独的文件中。而Hibernate在有些状况下可能会在java代码中保存sql/hql。 运行效率: 在不考虑cache的状况下,Ibatis应该会比hibernate快一些或者不少。app
对不一样数据库类型的支持,Hibernate要优于Ibatishibernate
对缺省的cache支持。Ibatis对缺省的cache支持不够好,可是hibernate的cache支持其实也不是很好,并且 很复杂。对象