activiti5为什么选择ibatis?

1.伊巴提斯很容易掌握。看文档半天两天就能掌握了。

掌握冬眠可能需要三倍以上的时间。

2.iBatis更容易优化sql。

这个大家应该都知道。另外Hibernate生成的sql真的很丑。镜子

有朋友提到sql不是很重要。我想在这里强调一下我的经验,一般系统性能。

瓶颈都在数据库中。所以这是iBatis非常重要的优势。

3.iBatis可以进行细粒度的优化。

3.1比如我有一个表,有几个或者几十个字段,需要更新。

一个字段,iBatis很简单,执行一个sql。

更新TABLE _ A SET column _ 1 = # column _ 1 #其中id=#id#

但是使用hibernate比较麻烦。默认情况下,Hibernate会更新所有字段。

当然我记得hibernate有一个只保存修改过的字段的选项,但是我不确定。

确定此功能的负面影响。

3.2我需要列出一个表格的部分内容。使用iBatis的时候,这里的好处是可以减少数据。

库读取大量数据,节省流量。

SELECT ID,NAME FROM TABLE _ WITH _ A _ LOT _ OF _ COLUMN其中...

3.2.1一般情况下,

Hibernate将选择所有字段。例如,有一个表,上面有八个字段。

有一两个比较大的字段,varchar(255)/text。为什么我把他放在上面的场景里?

孩子们怎么办?

3.2.2使用hibernate,不能将这两个不必要的字段设置为惰性加载,因为

因为还有很多地方需要一次性加载整个域对象。这个时候,就会表现出来。

ibatis的优势

3.2.3 Hibernate还有一个方案,就是生成javabean/map/object[](谢谢。

Leelun/cjmm),但在这种情况下,可能会产生大量的冗余类。地图/对象[]

应该不错。我更喜欢这种方式。

3.3如果我需要更新一个记录(一个对象),如果我使用hibernate,我需要现在更新它。

比如选择,然后做更新。这是数据库的两个sql。还有伊巴蒂斯

只需要一个更新sql。减少一次与数据库的交互,这对性能非常重要。

推广很重要。

4.发展

4.1开发效率,我觉得两者应该差不多。

4.2在可维护性方面,我觉得iBatis更好。因为iBatis的sql被保存到

在一个单独的文件中。Hibernate在某些情况下可能会保存在java代码中。

sql/hql .

5.工作效率

5.1不考虑缓存,iBatis应该比hibernate快或者快很多。

(根据实际情况会有所不同)。

当然,iBatis也有一些很大的缺点。

1.对不同数据库类型的支持不好。如果你要开发的系统是要在对齐的数据之间移植的,用hibernate可能更好。

2.默认的缓存支持不好,但是hibernate的缓存支持其实也不是很好,很复杂。尤其是对于大并发的应用。所以我更喜欢自己管理缓存。