<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  回復  更多評論
      

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


    網站導航:
     
    <2007年5月>
    293012345
    6789101112
    13141516171819
    20212223242526
    272829303112
    3456789

    常用鏈接

    留言簿(2)

    隨筆分類

    隨筆檔案

    framework

    j2me

    java

    linux

    web

    其他

    友情鏈接

    素材

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 国产一区二区三区在线免费观看 | 国产麻豆剧传媒精品国产免费| 免费看的黄色大片| 亚洲另类图片另类电影| 久久精品国产亚洲AV未满十八| 久久毛片免费看一区二区三区| 很黄很色很刺激的视频免费| 亚洲AV无码成H人在线观看| 国产亚洲美女精品久久久久| 国产成人青青热久免费精品| 久久亚洲AV成人无码国产电影| 男人j进入女人j内部免费网站 | 最近最新高清免费中文字幕| 久久亚洲精品成人综合| 亚洲免费观看网站| 国产精品亚洲美女久久久| 一区二区三区免费电影| 亚洲精品国产精品乱码在线观看| 亚洲1区2区3区精华液| 亚洲精品视频免费看| 亚洲 欧洲 日韩 综合在线| 国产一级特黄高清免费大片| 成人av片无码免费天天看| 国产精品国产免费无码专区不卡| 亚洲国产精品第一区二区| 国产成在线观看免费视频| 亚洲国产人成在线观看69网站| 一级特黄a免费大片| 亚洲成A人片777777| 国产精品免费观看| 亚洲AV性色在线观看| 国产亚洲综合成人91精品 | 亚洲午夜无码久久久久软件| 又粗又黄又猛又爽大片免费| 亚洲精品第一综合99久久| 亚洲精品国精品久久99热| 91福利视频免费观看| 美女被爆羞羞网站在免费观看| 国产免费观看网站| 亚洲成a人片在线不卡一二三区| 歪歪漫画在线观看官网免费阅读|