<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

    程序功能:
    使用ibatis+spring將oracle數(shù)據(jù)庫中的tfile表中的數(shù)據(jù)抽取到db2數(shù)據(jù)庫的tfile表,這兩個表的結(jié)構(gòu)相同。

    測試環(huán)境:
    celeron M 1.4/512M/mysql 5.0數(shù)據(jù)庫
    代碼:

    public static void main(String[] args) {
            
    // TODO Auto-generated method stub
            ClassPathResource resource = new ClassPathResource(
                    
    "applicationContext.xml");
            BeanFactory factory 
    = new XmlBeanFactory(resource);
            TFileDAO tFileDao 
    = (TFileDAO) factory.getBean("tfile");

            TFileDAO test2FileDao 
    = (TFileDAO) factory.getBean("test2tfile");
            
    //獲取全部數(shù)據(jù)
            List list = tFileDao.getAll();
            
    //開啟事務(wù)
            DataSourceTransactionManager txm = (DataSourceTransactionManager) factory
                    .getBean(
    "test2transactionManager");
            DefaultTransactionDefinition def 
    = new DefaultTransactionDefinition();
            def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED);
            TransactionStatus status 
    = txm.getTransaction(def);
            
    try {
                test2FileDao.getSqlMapClient().startBatch();
                
    for (int i = 0, count = list.size(); i < count; i++{
                
    //插入數(shù)據(jù)
                    test2FileDao.insert((TFile) list.get(i));
                }

                test2FileDao.getSqlMapClient().executeBatch();// 這兩句有問題,請見Spring+ibatis心得2!
            }
     catch (Exception e) {
                txm.rollback(status);
                System.out.println(e);
            }

            txm.commit(status);
            System.out.println(list.size());
        }
    1、保證使用長事務(wù),不要在每個插入都事務(wù)提交,這樣性能可以有很大幅度的提升
    2、使用 test2FileDao.getSqlMapClient().startBatch();
                  test2FileDao.getSqlMapClient().executeBatch();
                 可以發(fā)起jdbc對批量數(shù)據(jù)插入的優(yōu)化與自動代碼壓縮功能。

          結(jié)語:這次使用ibatis在同樣的硬件、數(shù)據(jù)庫、數(shù)據(jù)條數(shù)的環(huán)境下測試,在不起用batch,所有數(shù)據(jù)庫,數(shù)據(jù)池特性均使用默認(rèn)設(shè)置情況下使用19秒,并且使用一次性將數(shù)據(jù)讀入內(nèi)存的方式,效果優(yōu)于hibernate,所以真信優(yōu)化后的程序應(yīng)該比hibernate效率更高。但是從程序編寫方面來講,hibernate省去了過多的代碼,可以讓程序員更輕松些。
    posted on 2007-04-26 19:54 小平 閱讀(3203) 評論(1)  編輯  收藏


    FeedBack:
    # re: ibatis +spring批量操作心得
    2009-12-17 21:47 | 團(tuán)派家園
    3.0出來了嗎。  回復(fù)  更多評論
      

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


    網(wǎng)站導(dǎo)航:
     
    <2007年4月>
    25262728293031
    1234567
    891011121314
    15161718192021
    22232425262728
    293012345

    常用鏈接

    留言簿(2)

    隨筆分類

    隨筆檔案

    framework

    j2me

    java

    linux

    web

    其他

    友情鏈接

    素材

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 国产精品免费高清在线观看| 国产三级在线免费观看| 16女性下面无遮挡免费| 亚洲精品自产拍在线观看| 国产精品免费视频观看拍拍| 亚洲另类激情专区小说图片| 国产精品免费αv视频| 久久久久亚洲AV成人网人人网站 | 亚洲欧洲国产精品久久| 97公开免费视频| 亚洲av专区无码观看精品天堂 | 免费一级做a爰片久久毛片潮喷| 精品亚洲福利一区二区| 亚洲国产精品狼友中文久久久| 无码AV动漫精品一区二区免费| 亚洲人成国产精品无码| 三年片在线观看免费西瓜视频| 亚洲最大福利视频网站| 免免费国产AAAAA片| 亚洲成AV人片在WWW| 亚洲国产专区一区| 久久久99精品免费观看| 亚洲丰满熟女一区二区v| 国产乱子影视频上线免费观看| 久久国产美女免费观看精品| 亚洲人成电影福利在线播放 | 免费国产污网站在线观看| 亚洲国产综合精品中文第一区| 久草视频免费在线| 国产精品亚洲一区二区三区久久 | 理论秋霞在线看免费| 亚洲国产精品无码久久一区二区| 最近2019中文字幕免费直播| 亚洲av无码专区在线电影| 亚洲无人区一区二区三区| 曰曰鲁夜夜免费播放视频| 免费中文字幕视频| 亚洲国产成人精品无码区在线秒播 | 国产真人无码作爱免费视频| 亚洲国产午夜电影在线入口| 国产免费无遮挡精品视频|