<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 小平 閱讀(5962) 評論(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无码乱码国产精品| 亚洲最大视频网站| 久久青草免费91线频观看不卡 | 日韩毛片一区视频免费| 免费视频中文字幕| 亚洲国产成人无码AV在线影院| 免费毛片在线视频| 亚洲国产成人久久精品软件 | 亚洲黄片手机免费观看| 亚洲精品第一国产综合精品99| 一级女性全黄久久生活片免费| 又黄又爽无遮挡免费视频| 美女被爆羞羞网站免费| 亚洲伊人成无码综合网| 野花香在线视频免费观看大全| 久久久国产精品亚洲一区| 在线美女免费观看网站h| 亚洲一级视频在线观看| 成年美女黄网站色大免费视频| 亚洲AV无码成人精品区狼人影院| 国产免费av片在线播放| 国产精品hd免费观看| 国产亚洲免费的视频看| 1区2区3区产品乱码免费| 亚洲欧美日韩综合久久久久| 亚洲成a人一区二区三区| 久操视频在线免费观看| 亚洲熟女www一区二区三区| 亚洲成?Ⅴ人在线观看无码| 久久精品免费一区二区三区| 亚洲国产精品xo在线观看| 免费观看理论片毛片| 久久久久女教师免费一区| 亚洲视频在线观看网站| 无码少妇一区二区浪潮免费| 国产精品亚洲综合天堂夜夜| 国产AV无码专区亚洲Av| 女人毛片a级大学毛片免费| 国产午夜无码片免费| 亚洲av无码一区二区三区天堂古代|