hibernate 批量插入的測試

2021-08-22 18:44:07 字數 910 閱讀 4158

hibernate 批量插入的測試:

最近在專案中做了乙個充值卡的模組,用到了批量插入:我一開始用hibernate插入五十萬條資料:選說一下我的記算機配置:

記憶體:1g,cpu:pentium(r) 4 cpu 3.20ghz. 配置應該算是過時的了,

我的資料庫是:oracle10g,資料庫伺服器在外地,我測試插入到十萬條的時候用了二十五分鐘,後來我把程式放到外網伺服器:配置:酷睿2代 2.0,4g記憶體,

插入十萬條是五分鐘,速試是大大的提公升,但是我還是感覺有點慢,後來我用jdbc的批處理:還是在我本地插入:10萬條用時:不到1分鐘,如果放到外網伺服器就更快。

下面貼一下我的**:hibernate批量匯入**:(只是部分**,不能執行。)

public boolean addcardlist( final syscardimport syscardimport,final date date)

for(int num=0;num0)

for(int num=0;numstm2.setstring(1, temps+cardroand);

stm2.setstring(2, password);

stm2.setstring(3,temparray[1]);

stm2.addbatch();

if ((i + 1) % 1000 == 0)

i++;}}

if(stm!=null)

} catch (exception e) finally catch (sqlexception e)

}return flag;

}綜上所述,hibernate的批量更新和插入要建立和銷毀大量的物件,尤其是帶有複雜業務邏輯的,所以本人建議在大批量匯入和更新時,最好使用jdbc的批處理.在批處理上hibernate和jdbc batch不是乙個等級的。

Hibernate入門 批量插入資料

一般如果要插入100萬條資料,則會寫如下 package org.xiazdong.test import junit.framework.testcase import org.hibernate.session import org.hibernate.sessionfactory import...

Hibernate 資料的批量插入 更新和刪除

hibernate完全以物件導向的方式來運算元據庫,當程式裡以物件導向的方式操作持久化物件時,將被自動轉換為對資料庫的操作。例如呼叫session的delete 方法來刪除持久化物件,hibernate將負責刪除對應的資料記錄 當執行持久化物件的set方法時,hibernate將自動轉換為對應的up...

hibernate的批量更新 批量刪除

hibernate的批處理api session.createquery hql executeupdate 如果有引數則在執行之前設定引數。批量更新示例 test public void testbatchupdate 批量刪除示例 test public void testbatchdelete...