ibatis 是一个半自动的框架,为什么说是半自动呢?因为它可以生成一部分的代码,另外一部分需要我们手动去写
ibatis 采用的是SQL语句跟实体之间的一个映射关系,在我们select语句中,我们通过javabean 引入到select 语句中,根据不同的占位符,注入不同的javabean属性值
当然在我们这个ibatis框架中不仅仅只有javabean 的方式,还有MAP ,integer,xml等形式进行引入。用得比较多还是我们的javabean,map,interger,一般情况下xml文件用得比较少。
ibatis在处理比较复杂的语句的时候,比hibate更灵活,为什么说它比hibernate比较灵活呢,举个例子:像开发那些银行项目的时候,性能上要求比较苛刻,这往往需要我们经过高度优化SQL语句
才能到性能设计指标,所以在这种情况下,我们会优先采用ibatis,两者都是非常优秀的开源框架。。。。。。。。
ibatis跟myibatis 有何区别?
首先myibatis是ibatis 的一个升级版本,但是它们的区别在于简化了dao层代码的编写,而不需要像ibatis 一样,在dao层还需要返回什么queryForList(),queryObject() 等结果。
在映射xml中可能语句上有所区别,但是实际上区别不是很大。
hibernate跟ibatis之间的区别?
首先hibernate跟ibatis都ORM映射框架,二者都是比较优秀的开源产品。hibernate它是一个全自动的框架,而ibatis它是一个半自动的框架
hibernate它是采用表跟实体之间的一个映射,而ibatis是采用SQL语句跟实体的一个映射关系,但是hibernate 才处理复杂的SQL语句时,比如开发哪些银行系统的时候灵活性更好,
系统数据处理量巨大,性能要求极为苛刻,这往往意味着我们必须通过经过高度优化的SQL语句(或存储过程)才能达到系统性能设计指标。在这种情况下ibatis会有更好的可控性和表现。
而Hibernate现在已经是主流O/R Mapping框架,从文档的丰富性,产品的完善性,版本的开发速度都要强于ibatis。
总结:
hibernate和ibatis可以说是互相补充,共同发展的关系.具体你想用什么要看实际情况.如果看了上面的文字还是拿不定注意,那就just to try it.实践是检验真理的唯一标准.鞋合不合适,只有试了才知道。
总结才会有收获,不是每个人的记忆都那么过目不忘,除非你是神。