0 0

请教ibatis和hibernate选择0

新手学习web开发,数据层ibatis比较方便,hibernate有缓存等,感觉在大并发时应该不错,想试着啃这个大骨头,研究了几天,还一头雾水,请问有啥适合新手的教程没?

我的理解ibatis快速,适合小项目,大规模也可通过手段优化数据库等,hibernate开始麻烦点,访问量大后,也有缓存等组件来解决。

另请问mybatis和ibatis的区别?
2013年3月23日 20:38

14个答案 按时间排序 按投票排序

0 0

看使用者的水平!

2013年8月27日 15:34
0 0

用mybatis 吧 等你的系统长时间运转后,或者大并发,压力测试的时候你就知道hibernate 的痛苦了。
mybatis 也可以追加缓存。同样和可以和hibernate 一样用ehcache

hibernate 现在越来越沉重,但是对于如果项目迁移,ORM映射生成方面的确肯不错,最起码一个HQL ,我可以在各个数据库里跑。完全忽略数据库,但是性能。。长期运行后你会发现CPU..高的让人头疼。

mybatis 比ibatis 多了一些注解,很方便。除了轻量级以外,自己写SQL,方便,利于维护,你也可以用用mybatis 的自动生成帮助类 去生成一些底层基本的CURD

同样2000用户 ,百万条数据下。。 压力测试 你会有一种彻底放弃hibernate的痛苦。。

2013年8月06日 12:52
0 0

Hibernate理论上在大数据量高并发的业务环境下是没问题的,不过必须项目中有人对它具备足够的掌控力才行。如果是一般的项目,用用还是不错的,毕竟是优秀的对象关系映射框架,大多数情况下是不用关注SQL的编写的。
ibatis只是对SQL的简单封装,让你的JAVA代码更干净些,在有些需要利用到特定数据库特性的地方,就能发挥较大的作用。
ibatis和mybatis的区别上面有人讲了,新的版本更名为mybatis了。
另外,总结一句,这两者并不是矛盾体,你可以使用spring来结合使用(网上例子很多),效率要求不高的地方,使用hibernate来完成,效率要求高的地方使用ibatis来完成。

2013年8月06日 08:50
0 0

最早在项目中使用的是hibernate,后来设计自己的开发框架时,选择了myBatis。在我看来,二者之间最大的差异在于对数据的处理方式。hibernate是一个典型的ORM框架,关于ORM的概念不在这里赘述。而myBatis严格意义上不能算是一个ORM框架。

二者概念上的差异也就导致了使用方式和场景上的差异。hibernate对数据的操作是针对java对象的,即使在hql语句的书写方式也是面向对象式的。而myBatis虽然也可以将查询结果转换为对象,也可以将对象传值到sql中,但是myBatis更多的是一个面向接口和sql的框架,写的最多的就是sql和sql对应的接口。因此,相对于hibernate来说,myBatis由于开放了sql,对开发人员的sql要求更高,同时也提供了更高的sql灵活性,对于不适合以面向对象方式操作的数据或者行为(比如数据分析,高级sql查询等),使用mybatis是个更好的选择。


所以,二者的差异主要在使用场景上。在优化上,二者都支持缓存,而hibernate更是支持多级缓存,因此性能的差异主要在于使用的人和场景,而不在于数据量的大小。也就不存在大项目用hibernate,小项目用mybatis这种错误的认识。

2013年7月15日 22:48
0 0

引用

新手学习web开发,数据层ibatis比较方便,hibernate有缓存等,感觉在大并发时应该不错,想试着啃这个大骨头,研究了几天,还一头雾水,请问有啥适合新手的教程没?

我的理解ibatis快速,适合小项目,大规模也可通过手段优化数据库等,hibernate开始麻烦点,访问量大后,也有缓存等组件来解决。

另请问mybatis和ibatis的区别?


① 既然是新手,还没学走路就要飞了,跟以前的我很像,有点杞人忧天。试问国内有多少个系统是属于大并发的,又有几个人会接触到大并发处理。大并发的是你刚入门web的新手去处理的吗?⊙﹏⊙b汗死!!!

② ibatis大项目用多的是!反倒大项目hibernate见得少!很多大项目甚至都是用数据库的存储过程来完成的。

③ ibatis也有缓存! 大系统都靠缓存的话,那你内存得有多大?

④ 个人认为hibernate适合需求比较明确的项目,容易进行业务建模,适合采用ORM。但后期会让你崩溃的。业务部门的需求千变万化,过不了多久,你所谓的建模几乎不存在,尤其是用hibernate开发ERP,后期所谓的建模………………

2013年6月05日 11:42
0 0

1.
hibernate 重量级,复杂,完全的面向对象sql编程;适合互联网,简单的业务,互联网多些;
ibatis 相对轻量级,简单,半sql maping自动化编程,学习成本低;对复杂的业务,像电信,行业软件用的挺多的,而且那些系统要求写的sql多些,尤其是复杂的sql,用hiberate的完全面向对象,反而麻烦,繁琐;
2.
mybatis 是ibatis2版本之后的版本3,比ibatis注解,sql更好用些!
hibernate 和ibatis都支持缓存,但hibernate的缓存设计和支持更好,强大些!

2013年4月27日 11:40
0 0

Hibernate功能强大, 如果模型设计得比较完善, 会少一些开发量.比较适合用在没有遗留问题的企业级项目. 由于Hibernate学习成本比较高, 所以在架构选型时要慎重 .


Ibatis相对简单, 每天sql都是程序员自己写的. 在互联网网公司, 使用ibatis比较多. 因为ibaits的sql是程序员自己写的, 比较好优化, DBA也更好做review. PS: 阿里系每个子公司用ibaits, 所以不要说ibatis不合适大型项目.

Mybatis是ibaits的后续版本. 因为ibatis不再把代码维护在Apache, 而是放在google code上面去了, 可能是由于版本或其他的原因需要改名.

2013年4月18日 23:58
0 0

1.hibernate 军规级别,相当强大,重量级,给它最标准的定义:面向对象的持久化框架,支持sql及hql,但,复杂度高,入门简单,学精复杂。
2.mybatis 支持面向对象编程,但不能说是全面向对象,对面向对象中关系的处理不够强悍。
3.企业选择
两者都可以选择,hibernate针对简单业务,开发速度快,mybatis针对复杂业务,对程序员要求并不高,hibernate没专家,最好不要上项目。
望采纳。

2013年4月17日 16:08
0 0

对于复杂sql或者存储过程调用,Hibernate对于复杂或者数据量大,性能要求高的或者多表级联查询时性能没有ibatis高,
但是,hibernate采用全自动的ORM映射工具,将实体类与表对应,自动生成sql文,而ibatis需要自己动手写sql,还要有xml配置文件。
具体的使用还是要根据业务或者需求进行合理使用。各有优势

2013年4月12日 18:38
0 0

我觉得,如果如果系统是侧重于统计分析的话,建议使用mybatis更适合,因为这个场合下面会运用很多原生sql的使用,如果用hql反而人为的制造了不必要的麻烦。反之,使用hibernate会简化不少开发量。仅供参考。

2013年3月27日 23:43
0 0

mybatis支持灵活的sql拼写,如果使用它很难出现把查询参数拼到sql的情况。
mybatis缓存功能比较弱,它只支持sql和查询参数级的缓存

hibernate orm映射功能强大,利用映射文件容易实现很复杂的orm映射,不过映射关系过于复杂的话这些代码也难以维护。不注意的话容易出现把查询参数拼到sql、hql的情况,会降低效率。
hibernate缓存强大

2013年3月25日 10:58
0 0

我记得iBatis好像也支持缓存。
我的理解是:
iBatis更适合
  1、只能使用procedure
  2、对性能要求高
  3、已有的schema不能很方便的进行ORM配置。
Hibernate更适合
  1、快速开发
  2、新系统

2013年3月24日 21:14
0 0

另请问mybatis和ibatis的区别?
两个本来就是一个,本来叫ibatis的,后面脱离apache 社区之后,
才开始改名mybatis的。

2013年3月24日 16:33
0 0

如果用mybatis你可以自己写缓存来提高访问效率

2013年3月24日 11:40

相关推荐

    ibatis和hibernate的区别

    【ibatis和Hibernate的区别】 在Java开发中,ibatis和Hibernate都是常见的对象关系映射(ORM)框架,它们简化了数据库操作,将Java对象与数据库表之间的映射关系抽象出来,使得开发人员可以使用面向对象的方式处理...

    ibatis和hibernate的简单介绍

    ### ibatis和Hibernate的简单介绍 #### 一、ibatis简介 ...总之,ibatis和Hibernate各有优势,选择哪个取决于项目的具体需求以及团队的技术背景。在实际应用中,企业应综合考虑以上因素,做出最符合自身情况的选择。

    ibatis 与hibernate之间的比较优点和缺点

    本文将深入探讨两个流行的 ORM 工具——Hibernate 和 iBatis(现称 MyBatis),分析它们的特点、优势及局限性,以帮助开发者根据项目需求选择最合适的工具。 #### Hibernate **简介:** Hibernate 是一个全面的 ...

    iBatis和Hibernate的区别

    iBatis和Hibernate各有优劣,选择哪个框架取决于具体项目的需求。对于需要高度定制化SQL查询的项目,iBatis可能是更好的选择;而对于追求快速开发、希望减少手工编码量的项目,Hibernate则更为合适。最终的选择应当...

    选用ibatis和hibernate的区别

    在选择Java持久化框架时,Ibatis和Hibernate是两个常用的选择。它们各有特点,适用场景也有所不同。以下是对两者的基本功能、使用步骤以及差异的详细分析: **Hibernate** 是一个全面的对象关系映射(ORM)框架,它...

    IBatisVSHibernate

    在选择IBatis和Hibernate时,需要根据项目需求来决定。对于那些重视SQL优化、需要高度定制的项目,或者团队对SQL有深入理解的项目,IBatis可能是更好的选择。而如果追求开发效率,或者项目涉及到复杂的对象关系,...

    Ibatis和Hibernate的分析比较

    在选择Ibatis还是Hibernate时,应考虑项目的具体需求、团队的技术背景和性能要求。对于需要高度控制SQL的项目,或者对性能有严格要求的情况,Ibatis可能是更好的选择。而如果希望以面向对象的方式进行开发,减少与...

    对IBatis分页的改进,使ibatis支持hibernate式的物理分页

    公司的大部分项目都开始使用IBatis作为O/R Mapping了,但是在使用的过程中也发现了很多不方便和存在争议的地方,其中一个不方便的地方就是分页,目前的处理方式都是在sqlMap中写针对特定数据库的物理分页Sql语句,对于...

    ibatis和hibernate配置以及比较

    在Java Web开发中,iBatis和Hibernate是两种常用的持久层框架,它们各有优缺点,适用于不同的应用场景。下面将详细介绍两者的配置、特点和差异。 首先,iBatis是一个轻量级的ORM(Object-Relational Mapping)框架...

    ibatis与hibernate的区别

    总体来看,ibatis和hibernate各有利弊,选择哪个框架取决于项目的具体需求和技术团队的能力。如果项目对性能有较高要求或者需要灵活控制SQL语句,则可以选择iBatis;而如果希望减少开发工作量并充分利用ORM带来的...

    ibatis,hibernate 中文参考文档

    在IT行业中,数据库持久化是开发过程中的关键环节,Ibatis和Hibernate是两种广泛使用的Java持久层框架。它们都致力于简化数据库操作,让开发者能够更专注于业务逻辑而不是繁琐的SQL语句编写。以下是对这两个框架的...

    Java面试题56.ibatis和hibernate有什么不同.mp4

    Java面试题56.ibatis和hibernate有什么不同.mp4

    iBatisVSHibernate

    iBatis VS Hibernate iBatis不亚于Hibernate

    springMVC+ibatis+hibernate+spring+boostrap框架

    Spring MVC、iBatis、Hibernate、Spring 和 Bootstrap 是在 Web 开发中广泛使用的五种关键技术。下面将分别介绍这些框架的核心概念、它们的功能以及如何协同工作。 1. Spring MVC(模型-视图-控制器): Spring MVC...

    mybatis,ibatis,hibernate 显示查询SQL

    在IT行业中,数据库操作是应用程序开发的核心部分,而MyBatis、iBatis和Hibernate都是流行的Java持久层框架,它们简化了与数据库交互的过程。这三个框架各有特点,但都提供了ORM(对象关系映射)机制,帮助开发者将...

    Struts2+Spring+Hibernate和Struts2+Spring+Ibatis

    Struts2+Spring+Hibernate和Struts2+Spring+Ibatis是两种常见的Java Web应用程序集成框架,它们分别基于ORM框架Hibernate和轻量级数据访问框架Ibatis。这两种框架结合Spring,旨在提供一个强大的、可扩展的、易于...

    SpringMVC+jbpm+ibatis+Hibernate框架

    SpringMVC、jbpm、iBatis和Hibernate是四个在Java开发中广泛使用的框架,它们在构建企业级应用中各自扮演着重要的角色。下面将详细解释这些技术以及它们如何协同工作。 SpringMVC是Spring框架的一个模块,专门用于...

    JQuery的启发-教你如何二次处理及优化IBatis和Hibernate的查询结果集

    在IT行业中,数据库操作是应用开发的核心部分,而IBatis和Hibernate作为两个流行的ORM(对象关系映射)框架,极大地简化了数据访问层的开发。本文将深入探讨JQuery的启发,以及如何利用这些思想来优化对这两个框架的...

    struts2-spring-ibatis-hibernate(hibernate与ibatis集成)

    Struts2、Spring、iBatis 和 Hibernate 是四个在 Java Web 开发中广泛使用的开源框架。这个项目将它们集成为一个整体,为初学者提供了一个学习和理解这些技术如何协同工作的实例。 **Struts2** 是一个基于 Model-...

    spring与hibernate以及ibatis集成的实例和具体配置图解

    在IT行业中,Spring、Hibernate和Ibatis是三个非常重要的框架,它们各自在不同的领域发挥着重要...集成Spring、Hibernate和Ibatis可以让开发者根据需求选择合适的数据访问方式,同时享受到Spring带来的便利性和灵活性。

Global site tag (gtag.js) - Google Analytics