<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 31,  comments - 31,  trackbacks - 0
    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)航:
     
    <2009年6月>
    31123456
    78910111213
    14151617181920
    21222324252627
    2829301234
    567891011

    常用鏈接

    留言簿(2)

    隨筆分類

    隨筆檔案

    framework

    j2me

    java

    linux

    web

    其他

    友情鏈接

    素材

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 欧美男同gv免费网站观看| 免费在线观看黄色毛片| 亚洲性猛交XXXX| 久久久久国色AV免费观看| 久久亚洲精品无码播放| 立即播放免费毛片一级| 亚洲国产精品无码专区在线观看 | 一区二区免费国产在线观看| 亚洲日本va在线视频观看| 99久久久国产精品免费无卡顿| 高潮毛片无遮挡高清免费视频| 亚洲高清在线播放| 国产美女精品久久久久久久免费| 两个人看的www免费| 亚洲精品456人成在线| 亚洲色成人中文字幕网站| 午夜一级免费视频| 精品视频在线免费观看| 国产精品亚洲天堂| 亚洲狠狠ady亚洲精品大秀| 亚洲综合色成在线播放| 成人免费毛片内射美女APP| 七色永久性tv网站免费看| 国产亚洲精品美女久久久久久下载| 亚洲AV日韩AV高潮无码专区| 亚洲?V无码成人精品区日韩| av大片在线无码免费| 精品国产污污免费网站 | 国产精品成人免费观看| 亚洲夂夂婷婷色拍WW47| 自怕偷自怕亚洲精品| 亚洲欧洲一区二区三区| 国产免费牲交视频| 一个人免费高清在线观看 | 四虎永久成人免费| 毛片免费vip会员在线看| 免费A级毛片在线播放| 中文字幕在线免费视频| 深夜A级毛片视频免费| 亚洲av无码一区二区三区在线播放| 亚洲一级毛片免费在线观看|