<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、上回的心得中我強調了startBatch()的批處理的作用,但是其中的使用是個錯誤用法,并沒有發揮出startBatch()的實力,對此給與觀眾的誤導我將在此表示到欠,并貼出正確的用法
    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的事物默認情況下是自動提交的,如果發現速度上有問題可以留意一下,ibatis只有在顯示的聲明事物管理的情況下才自動將事物管理改為不自動方式。
    3、還是startBatch(),據我測試分析這個鬼東西只有在executeBatch(),才把所有的語句提交到數據庫,在提交之前緩存中保留了大量的sql語句和數據對象,很有可能out of memony,對此要留意,可以在大量數據要做插入時,分批用Batch,如:有40000條數據可將其分為4個Batch塊,讓后將這4個Batch用一個事物提交以保證數據完整性。
    注:最近在做數據抽取項目,愿與大家溝通心得
    posted on 2007-05-30 21:46 小平 閱讀(5961) 評論(6)  編輯  收藏


    FeedBack:
    # re: Spring+ibatis批量存儲心得 2
    2008-01-16 17:43 | 巖石
    非常的好,謝謝,受教了  回復  更多評論
      
    # re: Spring+ibatis批量存儲心得 2[未登錄]
    2008-06-04 00:29 | peter
    學習  回復  更多評論
      
    # re: Spring+ibatis批量存儲心得 2
    2008-11-05 10:48 | 菜蟲
    請問一下,對多張表同時進行批量插入也可以用這種方法嗎?
    執行插入多少條時去調用 executor.executeBatch();效率快。  回復  更多評論
      
    # 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();
    */


    請問這兩種那個效率高?
    為什么要使用回調的方法  回復  更多評論
      
    # re: Spring+ibatis批量存儲心得 2[未登錄]
    2009-09-02 13:58 | 小斌
    mark  回復  更多評論
      
    # re: Spring+ibatis批量存儲心得 2[未登錄]
    2009-10-22 09:49 | allen
    看看源碼你就知道為什么容易溢出了,你寫的方法也不是完全正確的,因為本身源碼就存在bug,所以自己改源碼中預處理ps生成語句算法,再像你這么用就可以,歡迎討論qq279068158  回復  更多評論
      

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    <2008年1月>
    303112345
    6789101112
    13141516171819
    20212223242526
    272829303112
    3456789

    常用鏈接

    留言簿(2)

    隨筆分類

    隨筆檔案

    framework

    j2me

    java

    linux

    web

    其他

    友情鏈接

    素材

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 国产高清免费视频| 青青视频观看免费99| 免费国产成人午夜电影| 亚洲综合一区国产精品| 永久免费AV无码国产网站| 亚洲国产精品网站久久| 999国内精品永久免费视频| 亚洲人成日本在线观看| 思思re热免费精品视频66| 亚洲综合久久一本伊伊区| 少妇高潮太爽了在线观看免费| 亚洲avav天堂av在线网爱情| 好男人www免费高清视频在线| 亚洲一区二区无码偷拍| 日韩高清在线高清免费| 成年大片免费视频播放一级| 相泽亚洲一区中文字幕| 国产成人AV片无码免费| 亚洲国产美女精品久久| 日本成人在线免费观看| 一级做α爱过程免费视频| 亚洲av福利无码无一区二区 | 国产成人无码区免费A∨视频网站 国产成人涩涩涩视频在线观看免费 | 亚洲视频无码高清在线| 国产精品极品美女免费观看| 免费福利在线观看| 亚洲乱码一区二区三区在线观看| 久久久久成人片免费观看蜜芽 | 亚洲色图.com| 免费羞羞视频网站| selaoban在线视频免费精品| 亚洲人成网www| 在线a人片天堂免费观看高清| 一级毛片一级毛片免费毛片 | 亚洲欧美中文日韩视频| 亚洲无码黄色网址| 久久精品无码专区免费青青| 久久亚洲中文字幕无码| 亚洲AV电影院在线观看| 日本特黄a级高清免费大片| 国产一级片免费看|