ibatis和hibernate 的优缺点

问题描述

ibatis和hibernate的优缺点

解决方案

解决方案二:
呵呵!一直用的hibernate,没用过ibatis!
解决方案三:
引用1楼wangshiyang的回复:

呵呵!一直用的hibernate,没用过ibatis!

你out了
解决方案四:
Hibernate是ORM中间件MyBatis是SQL翻译中间件
解决方案五:
都用过,但是了解得不够深刻
解决方案六:
iBatis在以下情况中更显得适合,这时Hibernate甚至毫无办法:1.系统的部分或全部数据来自现有数据库,处于安全考虑,只对开发团队提供几条SelectSQL(或存储过程)以获取所需数据,具体的表结构不予公开。2.开发规范中要求,所有牵涉到业务逻辑部分的数据库操作,必须在数据库层由存储过程实现(就笔者工作所面向的金融行业而言,工商银行、中国银行、交通银行,都在开发规范中严格指定)3.系统数据处理量巨大,性能要求极为苛刻,这往往意味着我们必须通过经过高度优化的SQL语句(或存储过程)才能达到系统性能设计指标。虽然Hibernate也支持原始的SQL,但总体来说上面这些情况下iBatis更适合一些。
解决方案七:
ibatis据说他的分页查询最后一页的算法有缺陷而且感觉数据库移植性不如hibernatehibernate批量操作插入和修改速度不能令人满意当数据量庞大时基本没什么办法去性能调优一般的中小型项目差别不明显
解决方案八:
http://wenku.baidu.com/view/50e5490102020740be1e9bc2.html里面讲的很全,请参考。有不理解的再提问。
解决方案九:

解决方案十:
各有千秋如果有大量数据报表等显然用ibatis。。
解决方案十一:
ibatis:农村女孩,简单、清纯、单一hibernate:城市熟女,复杂、多变、兼容
解决方案十二:
引用5楼inhibitory的回复:

iBatis在以下情况中更显得适合,这时Hibernate甚至毫无办法:1.系统的部分或全部数据来自现有数据库,处于安全考虑,只对开发团队提供几条SelectSQL(或存储过程)以获取所需数据,具体的表结构不予公开。2.开发规范中要求,所有牵涉到业务逻辑部分的数据库操作,必须在数据库层由存储过程实现(就笔者工作所面向的金融行业而言,工商银行、中国银行、交通银行,都……

请问楼主进入金融IT行业需要哪些技术?
解决方案十三:
引用10楼warison2008的回复:

ibatis:农村女孩,简单、清纯、单一hibernate:城市熟女,复杂、多变、兼容

比喻不当现在农村女孩也很负责多变。
解决方案十四:
引用12楼magicluo的回复:

引用10楼warison2008的回复:ibatis:农村女孩,简单、清纯、单一hibernate:城市熟女,复杂、多变、兼容比喻不当现在农村女孩也很负责多变。

深受其害乎!!!
解决方案十五:
引用11楼capturefuture的回复:

引用5楼inhibitory的回复:iBatis在以下情况中更显得适合,这时Hibernate甚至毫无办法:1.系统的部分或全部数据来自现有数据库,处于安全考虑,只对开发团队提供几条SelectSQL(或存储过程)以获取所需数据,具体的表结构不予公开。2.开发规范中要求,所有牵涉到业务逻辑部分的数据库操作,必须在数据库层由存储过程实现(就笔者工作所面向的……

其实我也想知道,*^o^*
解决方案:
一个半自动,一个全自动。
解决方案:
引用1楼wangshiyang的回复:

呵呵!一直用的hibernate,没用过ibatis!


解决方案:
好像在6月份iBATIS变成MyBatis了,学习过,也挺好用的JDBC/iBATIS/Hibernate各有所长吧
解决方案:
引用10楼warison2008的回复:

ibatis:农村女孩,简单、清纯、单一hibernate:城市熟女,复杂、多变、兼容

精辟
解决方案:
该回复于2010-12-29 10:19:27被版主删除
解决方案:
MyBatis非常爽。完全控制所有的行为,各种复杂Java类型到数据库的映射(反之也能)都能自己控制。因此数据库操作的性能问题在完全的控制之下。我已经用在一堆项目上了。
解决方案:
引用1楼wangshiyang的回复:

呵呵!一直用的hibernate,没用过ibatis!

一样。

时间: 2024-09-17 03:41:26

ibatis和hibernate 的优缺点的相关文章

Ibatis VS Hibernate

近日,在JavaEye论坛中,看了Ibatis和Hibernate的帖子,看后,心里觉得的憋闷,不说不快, 这里 ,我想更细化一下: 1. 库表的复杂度,首先取决于需求,不取决于设计,设计能力强的人,也要遵守库表设计的规范,从 巴克斯三个范式上,原则上也要遵守.不能说用了Hibernate,自己的库表设计能力就强了.不能为了用 Hibernate,就去一味批判复杂的关系不对.复杂的关系设计对不对,首先取决于是否有复杂的需求,其 次才取决于设计者的能力. 2. 只要你用的是关系数据库,就必须要明白

项目中使用了ibatis、hibernate时,怎么来控制事务

问题描述 现在的项目中使用了ibatis.hibernate然后在spring的配置文件里面配置<beanid="txManager"class="org.springframework.jdbc.datasource.DataSourceTransactionManager"><propertyname="dataSource"ref="dataSource"/></bean><be

iBatis和Hibernate的对比

  我在最初的选型的时候是打算选择 Hibernate 的,在研究的过程中发现了 iBatis,经过 分析比较之后我选择了 iBatis.现在我已经使用 iBatis 完成了一个中小型的项目.这个 项目在性能.可维护性.可扩展性方面都非常令我满意. 在这个过程中我也不断的与使用过或者正在使用 Hibernate 的人进行过探讨.而且我本身 也在不断的跟进 Hibernate 的发展. 最终,我的结论是 iBatis 的选择非常正确,而且越用越喜欢它了. 当然了,我对 Hibernate 的理解还

Hibernate与IBatis的优缺点及可行性分析

1.优点 简单: 易于学习,易于使用,通过文档和源代码,可以比较完全的掌握它的设计思路和实现. 实用: 提供了数据映射功能,提供了对底层数据访问的封装(例如ado.net),提供了dao框架,可以使我们更容易的开发和配置我们的dal层. 灵活: 通过sql基本上可以实现我们不使用数据访问框架可以实现的所有功能,或许更多. 功能完整: 提供了连接管理,缓存支持,线程支持,(分布式)事物管理,通过配置作关系对象映射等数据访问层需要解决的问题.提供了dao支持,并在dao框架中封装了ado.net,H

Ibatis入门基本语法(转) good

Ibatis入门基本语法 一个项目中在写ibatis中的sql语句时,where user_id in (#user_id_list# ), 运行时总是不行,后来上网查了查,才知道这里不该用#,而应该用$,随即查了下#与$的区别. 总结如下: 1.#是把传入的数据当作字符串,如#user_id_list#传入的是1,2,则sql语句生成是这样,in ('1,2') ,当然不可以 2.$传入的数据直接生成在sql里,如$user_id_list$传入的是1,2,则sql语句生成是这样,in(1,2

第一章 对象持久化与Hibernate

1.1 解耦合1.1.1 应用层解耦合--应用逻辑(service)和数据逻辑(dao)分离1.1.2 资源层解耦合--逻辑结构和物理结构分离 1.2 DAO模式1.2.1 DAO对业务层提供数据抽象层接口数据存储逻辑分离数据访问底层实现的分离资源管理和调度的分离数据抽象 1.3 ORM Object Relactional Mapper 对象--关系型数据映射组件       ORM(Object Relational Mapping)---是一种为了解决面向对象与关系型数据库存在的互不匹配的

Hibernate学习大全

第1课 课程内容. 6 第2课Hibernate UML图. 6 第3课 风格. 7 第4课 资源. 7 第5课 环境准备. 7 第6课 第一个示例HibernateHelloWorld 7 第7课 建立Annotation版本的HellWorld 9 第8课 什么是O/RMapping 11 一.     定义:. 11 二.     Hibernate的创始人:. 11 三.     Hibernate做什么:. 12 四.     Hibernate存在的原因:. 12 五.     Hi

从头到脚跟你解释什么是Hibernate

Hibernate是一个免费的开源Java包,它使得与关系数据库打交道变得十分轻松,就像您的数据库中包含每天使用的普通Java对象一样,同时不必考虑如何把它们从神秘的数据库表中取出(或放回到数据库表中).它解放了您,使您可以专注于应用程序的对象和功能,而不必担心如何保存它们或稍后如何找到它们. 大多数应用程序都需要处理数据.Java应用程序运行时,往往把数据封装为相互连接的对象网络,但是当程序结束时,这些对象就会消失在一团逻辑中,所以需要有一些保存它们的方法.有时候,甚至在编写应用程序之前,数据

漫谈Hibernate的前世今生

Hibernate是一个免费的开源Java包,它使得与关系数据库打交道变得十分轻松,就像您的数据库中包含每天使用的普通Java对象一样,同时不必考虑如何把它们从神秘的数据库表中取出(或放回到数据库表中).它解放了您,使您可以专注于应用程序的对象和功能,而不必担心如何保存它们或稍后如何找到它们. 历史与背景 大多数应用程序都需要处理数据.Java应用程序运行时,往往把数据封装为相互连接的对象网络,但是当程序结束时,这些对象就会消失在一团逻辑中,所以需要有一些保存它们的方法.有时候,甚至在编写应用程