问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

ibatis 和 hibernate 区别是什么呢, 都说大项目用hibernate回比较好,这是为什么呢?

发布网友 发布时间:2022-04-22 22:55

我来回答

1个回答

热心网友 时间:2023-10-07 20:43

hibernate 与 ibatis 的区别,
hibernate 与 ibatis 都是目前最流行的 O/R mapping 框架hibernate 它出身于 sf.net 现在已经是 JBoss 的一部分了ibatis 它属于 apache 下的一个子项目hibernate 它是全封闭式的,对数据库的操作提供了完整封装,所有的SQL都是自动生成和执行,开发人员不需要再关注底层的建设,甚至不需要开发人员对SQL的熟练掌握,所有操作都是java对象,而更注重业务逻辑,开发人员只需定义好POJO与数据库的映射(*.hbm.xml),在对数据操作时只需调用hibernate 提供的方法完成数据层的操作,hibernate/OJB 会根据制定的存储逻辑,自动生成相应的SQL并调用JDBC接口完成执行ibatis 它是半封闭式的,何为半封闭式,这相对hibernate 对比,ibatis的着力点则在于POJO与SQL之间的映射关系,所有的SQL都需要开发人员在映射文件编写,通过这个映射文件的配置,将SQL所需要的参数传入进去和返回的结果字段映射到指定的POJO,而且ibatis最好的一个亮点在于可以操作存储过程。二者的对比:
1. iBATIS非常简单易学,Hibernate相对较复杂,门槛较高。
2. 二者都是比较优秀的开源产品
3. 当系统属于二次开发,无法对数据库结构做到控制和修改,那iBATIS的灵活性将比Hibernate更适合
4. 系统数据处理量巨大,性能要求极为苛刻,这往往意味着我们必须通过经过高度优化的SQL语句(或存储过程)才能达到系统性能设计指标。在这种情况下iBATIS会有更好的可控性和表现。
5. iBATIS需要手写sql语句,也可以生成一部分,Hibernate则基本上可以自动生成,偶尔会写一些Hql。同样的需求,iBATIS的工作量比Hibernate要大很多。类似的,如果涉及到数据库字段的修改,Hibernate修改的地方很少,而iBATIS要把那些sql mapping的地方一一修改。
6. 以数据库字段一一对应映射得到的PO和Hibernte这种对象化映射得到的PO是截然不同的,本质区别在于这种PO是扁平化的,不像Hibernate映射的PO是可以表达立体的对象继承,聚合等等关系的,这将会直接影响到你的整个软件系统的设计思路。
7. Hibernate现在已经是主流O/R Mapping框架,从文档的丰富性,产品的完善性,版本的开发速度都要强于iBATIS
8. 最关键的一句话是iBATIS的作者说的:
If you are starting a new project and you're in full control of your object model and database design, Hibernate is a good choice of O/R tool.
If you are accessing any 3rd party databases (e.g. vendor supplied), or you're working with a legacy database, or even just a really poorly designed database, then an O/R mapper might not be capable of handling the situation. That's were an SQL Mapper comes in handy.
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
【紫灵芝】紫灵芝的功效与作用及食用方法 紫灵芝价格 紫灵芝泡茶喝有什么好处 开封跑滴滴需要什么手续 郑州的滴滴打车可以在开封好吗 集团管控有哪几种模式 集团管控五种模式 集团管控模式集团管控模式选择的主要影响因素 win10桌面图标间距变大了怎么调整 win10桌面图标间距变大了调整方法 南宁什么路有民生银行 南宁民生银行保安第一个月工资多少?? ibatas和hibernate哪个更好? jdbc,hibernate,ibatis三者的优缺点? 宠物蜥蜴吃什么? hiebernate和ibatis的区别 蜥蜴一般吃什么? 蜥蜴都喜欢吃什么? 蜥蜴吃什么食物? 蜥蜴吃什么?怎么喂养? 怎么养蜥蜴?它吃什么?需要喝水吗?!!! 蜂蜜为什么不会变质? 蜂蜜为什么不能用开水冲呢? 蜂蜜为什么不会坏 为什么蜂蜜不能用热水冲泡? 蜂蜜不结晶是怎么回事? 蜂蜜为什么不能放在开水里 为什么蜂蜜不易变质? 蜂蜜为什么永不变质? 为什么蜂蜜不可以放在冰箱里? 为什么纯天然的蜂蜜永远不会变质 蜂蜜为什么不能用玻璃瓶装? hibernate和ibatis的区别? 如何强化企业内部控制措施 宠物蜥蜴 吃什么东西? 选用ibatis和hibernate的区别 提高企业内部控制水平的因素有哪些 ibatis与hibernate有什么区别啊? 你觉得IBatis(MyBatis) 和 HIbernate 哪个更好 企业应如何有效进行内部控制? Hibernate与iBatis的作用是什么,他们的区别是什么呢? 如何建立与完善企业内控制度,提升企业整体管理水平 Hibernate和iBatis、myBatis的区别? 如何加强内控管理 ibatis和hibernate的性能比较 ibatis 比较起hibernate更垃圾,但为什么还会有这么多人用? 浅谈如何加强内部控制 ibatis与hibernate的区别与使用场景 如何通过加强内部控制的几点思考 hibernetes mybatis 哪个好 如何加强企业内部管理,建立健全内控制度? 请大虾指点,hibernate和mybatis有什么区别? 最好分点详细介绍!!!谢谢...