浅谈hibernate、ibatis、myibatis之间的区别?

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.实践是检验真理的唯一标准.鞋合不合适,只有试了才知道。
总结才会有收获,不是每个人的记忆都那么过目不忘,除非你是神。

时间: 2024-10-21 00:41:45

浅谈hibernate、ibatis、myibatis之间的区别?的相关文章

浅谈Hibernate关系映射(3)

继上篇博客 一对多关联映射(单向) 上面我们介绍了多对一,我们反过来看一对多不就是多对一吗?那还用再进行不同的映射吗?有什么差别吗?一对多和多对一映射原理是一致的,存储是相同的,也就是生成的数据库的表是一样的,他们之间不同的是维护的关系不同. 他们之间不同点是维护的关系不同 *多对一维护的关系是:多指向一的关系,有了此关系,加载多的时候可以将一加载上来. *一对多维护的关系是:一指向多的关系,有了此关系,在加载一的时候可以将多加载上来. 一个班级有多个学生,通过班级可以看到学生信息. Class

浅谈Hibernate关系映射(2)

继上篇博客 一对一关系映射:一对一关联映射在实际生活中是比较常见的,如人与身份证的关系,通过人这个对象可以找到他相关的内容. 一对一单向(主键): 单向一对一主键关联,靠的是它们的主键相等,从Person中能看到IdCard,也就是把t_idCard中的主键拿过来当做t_Pseron的主键. 如图的线表示一个关联,在person中可以看见idcard.即在person中持有idCard的引用 person类的映射关系 <hibernate-mapping> <class name=&qu

浅谈Hibernate关系映射(4)

继上篇博客 多对多关联映射(单向) 多对多对象关系映射,需要加入一张新表完成基本映射. Hibernate会自动生成中间表 Hibernate使用many-to-many标签来表示多对多的关联,多对多的关联映射,在实体类中,跟一对多一样,也是用集合来表示的. 如下图所示 通过User可以查看Role的信息 User的映射文件 <hibernate-mapping> <class name="com.bjpowernode.hibernate.User"> <

【转】【ASP.NET MVC系列】浅谈ASP.NET 页面之间传值的几种方式

ASP.NET MVC系列文章 原文地址:https://www.cnblogs.com/wangjiming/p/6275854.html [01]浅谈Google Chrome浏览器(理论篇) [02]浅谈Google Chrome浏览器(操作篇)(上) [03]浅谈Google Chrome浏览器(操作篇)(下) [04]浅谈ASP.NET框架 [05]浅谈ASP.NET MVC运行过程 [06]浅谈ASP.NET MVC 控制器 [07]浅谈ASP.NET MVC 路由 [08]浅谈AS

浅谈Its与It&#39;s的区别

浅谈Its与It's的区别 http://www.hjenglish.com/new/p103924/ 旅英多年的作家陶杰先生在其专栏谈居英期间的见闻,说英国很多大学生连its和it's也分不清楚.大家会不会也分不清楚啊?请先拿纸笔出来,用its和it's各造一个句子看看.造了句子才继续看下去好吗? Its是代词,也是it的所有格(genitive case),解作“它的”. It's则是it is或it has的缩略语. 以下两句,请在虚线上填写正确的字: _____ time to buy

浅谈Hibernate入门

前言 最近打算做一个自己的个人网站,经过仔细思考,打算使用hibernate作为开发的ORM框架,因此各种找资料,由于本人是刚刚接触这技术的,所以就找了比较基础的知识来分享下 基本概述 Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库.Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hi

浅谈Hibernate和Ibatis区别

hibernate与ibatis比较 hibernate 是当前最流行的o/r mapping框架,它出身于sf.net,现在已经成为jboss的一部分了.ibatis 是另外一种优秀的o/r mapping框架,目前属于apache的一个子项目了. 相对hibernate"o/r"而言,ibatis是一种"sql mapping"的orm实现. hibernate 对数据库结构提供了较为完整的封装,hibernate的o/r mapping实现了pojo 和数据库

【SSH 基础】浅谈Hibernate关系映射(3)

继上篇博客 一对多关联映射(单向) 上面我们介绍了多对一,我们反过来看一对多不就是多对一吗?那还用再进行不同的映射吗?有什么区别吗?一对多和多对一映射原理是一致的,存储是同样的.也就是生成的数据库的表是一样的.他们之间不同的是维护的关系不同. 他们之间不同点是维护的关系不同 *多对一维护的关系是:多指向一的关系.有了此关系,载入多的时候能够将一载入上来. *一对多维护的关系是:一指向多的关系.有了此关系,在载入一的时候能够将多载入上来. 一个班级有多个学生,通过班级能够看到学生信息. Class

浅谈hibernate的sessionFactory和session

首先,讲一个悲伤的故事... 有一天,一个以为自己javaEE很叼的程序员,在经历了好久不写java代码的情况下,去参加阿里巴巴的java面试,然后,在被问到一个很简单的问题的时候,结果没有回答好.那么接下来先说说这个问题吧... 问:hibernate的sessionfactory是干嘛的?session又是干嘛的呢? 那么,你会吗?可以讲清楚么?如果答案是会,可以,那么你就不用往下看了....如果会还是想往下看,那么, 你就看呗. 在回答这个问题之前,先来看看一些概念. 一.hibernat