activiti5为什么选择ibatis?
掌握冬眠可能需要三倍以上的时间。
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的缓存支持其实也不是很好,很复杂。尤其是对于大并发的应用。所以我更喜欢自己管理缓存。