小平的回憶
BlogJava
首頁
新隨筆
新文章
管理
posts - 31, comments - 31, trackbacks - 0
Spring+ibatis批量存儲心得 2
1、上回的心得中我強調(diào)了startBatch()的批處理的作用,但是其中的使用是個錯誤用法,并沒有發(fā)揮出startBatch()的實力,對此給與觀眾的誤導(dǎo)我將在此表示到欠,并貼出正確的用法
public
class
LocalDaoImpl
extends
SqlMapClientDaoSupport
implements
LocalDao
{
public
void
insertBuNaTaxBatLst(
final
PaginatedList list)
{
getSqlMapClientTemplate().execute(
new
SqlMapClientCallback()
{
public
Object doInSqlMapClient(SqlMapExecutor executor)
throws
SQLException
{
executor.startBatch();
//
do some iBatis operations here
for
(
int
i
=
0
,count
=
list.size();i
<
count;i
++
)
{
executor.insert(
"
insertBuNaTaxBatLst
"
, list.get(i));
if
(i
%
50
==
0
)
{
System.out.println(
"
----
"
+
i);//沒有意義只為測試
}
}
executor.executeBatch();
return
null
;
}
}
);
}
}
這樣才能利用上startBatch()威力。
2、注意ibatis的事物默認(rèn)情況下是自動提交的,如果發(fā)現(xiàn)速度上有問題可以留意一下,ibatis只有在顯示的聲明事物管理的情況下才自動將事物管理改為不自動方式。
3、還是startBatch(),據(jù)我測試分析這個鬼東西只有在executeBatch(),才把所有的語句提交到數(shù)據(jù)庫,在提交之前緩存中保留了大量的sql語句和數(shù)據(jù)對象,很有可能out of memony,對此要留意,可以在大量數(shù)據(jù)要做插入時,分批用Batch,如:有40000條數(shù)據(jù)可將其分為4個Batch塊,讓后將這4個Batch用一個事物提交以保證數(shù)據(jù)完整性。
注:最近在做數(shù)據(jù)抽取項目,愿與大家溝通心得
posted on 2007-05-30 21:46
小平
閱讀(5962)
評論(6)
編輯
收藏
FeedBack:
#
re: Spring+ibatis批量存儲心得 2
2008-01-16 17:43 |
巖石
非常的好,謝謝,受教了
回復(fù)
更多評論
#
re: Spring+ibatis批量存儲心得 2[未登錄]
2008-06-04 00:29 |
peter
學(xué)習(xí)
回復(fù)
更多評論
#
re: Spring+ibatis批量存儲心得 2
2008-11-05 10:48 |
菜蟲
請問一下,對多張表同時進(jìn)行批量插入也可以用這種方法嗎?
執(zhí)行插入多少條時去調(diào)用 executor.executeBatch();效率快。
回復(fù)
更多評論
#
re: Spring+ibatis批量存儲心得 2
2009-06-05 10:24 |
wnick123
getSqlMapClientTemplate().execute(new SqlMapClientCallback(){
public Object doInSqlMapClient(SqlMapExecutor sqlExe) throws SQLException
{
getSqlMapClient().startBatch();
for(ChoiceItem ci:item.getChoiceItems()){
ci.setFormId(item.getFormId());
ci.setItemId(item.getItemId());
getSqlMapClientTemplate().insert("choice_item.insert",ci);
}
getSqlMapClient().executeBatch();
return null;
}
});
/*
getSqlMapClient().startBatch();
for(ChoiceItem ci:item.getChoiceItems()){
ci.setFormId(item.getFormId());
ci.setItemId(item.getItemId());
getSqlMapClientTemplate().insert("choice_item.insert",ci);
}
getSqlMapClient().executeBatch();
*/
請問這兩種那個效率高?
為什么要使用回調(diào)的方法
回復(fù)
更多評論
#
re: Spring+ibatis批量存儲心得 2[未登錄]
2009-09-02 13:58 |
小斌
mark
回復(fù)
更多評論
#
re: Spring+ibatis批量存儲心得 2[未登錄]
2009-10-22 09:49 |
allen
看看源碼你就知道為什么容易溢出了,你寫的方法也不是完全正確的,因為本身源碼就存在bug,所以自己改源碼中預(yù)處理ps生成語句算法,再像你這么用就可以,歡迎討論qq279068158
回復(fù)
更多評論
新用戶注冊
刷新評論列表
只有注冊用戶
登錄
后才能發(fā)表評論。
網(wǎng)站導(dǎo)航:
博客園
IT新聞
Chat2DB
C++博客
博問
管理
Copyright ©2025 小平 Powered by:
博客園
模板提供:
滬江博客
<
2009年6月
>
日
一
二
三
四
五
六
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
7
8
9
10
11
常用鏈接
我的隨筆
我的評論
我的參與
最新評論
留言簿
(2)
給我留言
查看公開留言
查看私人留言
隨筆分類
database(3)
eclipse plugIn(2)
hibernate(4)
iBATIS(1)
java(6)
spring(3)
web(1)
webwork
隨筆(6)
隨筆檔案
2008年6月 (1)
2008年4月 (3)
2008年2月 (1)
2008年1月 (1)
2007年12月 (1)
2007年10月 (1)
2007年7月 (2)
2007年6月 (2)
2007年5月 (1)
2007年4月 (6)
2007年2月 (1)
2007年1月 (4)
2006年11月 (1)
2006年10月 (1)
2006年9月 (5)
framework
eclipse 幫助
ibm開發(fā)文檔
spring中文論壇
webwork中文計劃
中國eclipse社區(qū)
j2me
j2medev
j2me開發(fā)專題
nokia
wap之家
java
csdn
hibernate SessionFactory配置
java開源大全
j道
sun的java 社區(qū)
linux
linux伊甸園
web
javascript參考
w3schools
其他
IBM
MSDN
oracle
UML
w3china
友情鏈接
我的旅游筆記
我的旅游筆記
素材
最新評論
1.?re: 為org.eclipse.jface.text.TextViewer添加undo、redo 并添加Ctrl+z,與Ctrl+y功能
找到原因了,必須加textViewer.setDocument(new Document());才好使
--yumin_999@163.com
2.?re: 為org.eclipse.jface.text.TextViewer添加undo、redo 并添加Ctrl+z,與Ctrl+y功能
反復(fù)測試,還是不好使,奇怪。yumin_999@163.com
--yumin_999@163.com
3.?re: ibatis批量代碼
這個能事物回滾嗎?我也是這樣子寫的 但是事物沒有回滾 不知道什么怎么回事
--pes
4.?re: Spring+ibatis批量處理心得3
評論內(nèi)容較長,點擊標(biāo)題查看
--孫繼超
5.?re: DB2的jdbc type-4驅(qū)動
您好 ,我也遇到了像您一樣的問題,我的qq是178147633,能幫幫我嗎?
我也是用type 4連接的db2,版本是8.2。到現(xiàn)在還沒連上
--wk
閱讀排行榜
1.?Spring+ibatis批量存儲心得 2(5962)
2.?如何讓你的網(wǎng)頁表格在一頁內(nèi)打印出來。 (轉(zhuǎn))(5412)
3.?ibatis批量代碼(3420)
4.?Spring+ibatis批量處理心得3(3290)
5.?ibatis +spring批量操作心得(3203)
評論排行榜
1.?ibatis批量代碼(9)
2.?Spring+ibatis批量存儲心得 2(6)
3.?Spring+ibatis批量處理心得3(4)
4.?為org.eclipse.jface.text.TextViewer添加undo、redo 并添加Ctrl+z,與Ctrl+y功能(3)
5.?DB2的jdbc type-4驅(qū)動(3)
主站蜘蛛池模板:
欧美男同gv免费网站观看
|
免费在线观看黄色毛片
|
亚洲性猛交XXXX
|
久久久久国色AV免费观看
|
久久亚洲精品无码播放
|
立即播放免费毛片一级
|
亚洲国产精品无码专区在线观看
|
一区二区免费国产在线观看
|
亚洲日本va在线视频观看
|
99久久久国产精品免费无卡顿
|
高潮毛片无遮挡高清免费视频
|
亚洲高清在线播放
|
国产美女精品久久久久久久免费
|
两个人看的www免费
|
亚洲精品456人成在线
|
亚洲色成人中文字幕网站
|
午夜一级免费视频
|
精品视频在线免费观看
|
国产精品亚洲天堂
|
亚洲狠狠ady亚洲精品大秀
|
亚洲综合色成在线播放
|
成人免费毛片内射美女APP
|
七色永久性tv网站免费看
|
国产亚洲精品美女久久久久久下载
|
亚洲AV日韩AV高潮无码专区
|
亚洲?V无码成人精品区日韩
|
av大片在线无码免费
|
精品国产污污免费网站
|
国产精品成人免费观看
|
亚洲夂夂婷婷色拍WW47
|
自怕偷自怕亚洲精品
|
亚洲欧洲一区二区三区
|
国产免费牲交视频
|
一个人免费高清在线观看
|
四虎永久成人免费
|
毛片免费vip会员在线看
|
免费A级毛片在线播放
|
中文字幕在线免费视频
|
深夜A级毛片视频免费
|
亚洲av无码一区二区三区在线播放
|
亚洲一级毛片免费在线观看
|