zoukankan      html  css  js  c++  java
  • ibatis的批处理

    (1)spring模式:尽管spring已经配置了事务,但以下代码中还是要设置事务,不然batch不会起作用;另外这里虽然设了一下事务处理,但对全局事务并不会造成影响;
    注:不启用事务将建立多次连接,这表示batch没起作用,建立事务后一次连接就搞定了.

    Java代码  收藏代码
    1. public void batchAddExamlog(List examlogList) throws SQLException{                   
    2.     SqlMapClient smc=this.getSqlMapClient();                                           
    3.     try {                                                                              
    4.         smc.startTransaction();                                                          
    5.         smc.startBatch();                                                                
    6.                                                                                                                                                          
    7.         for (Iterator iter = examlogList.iterator(); iter.hasNext();) {  
    8.             Examlog log = (Examlog) iter.next();  
    9.             smc.update("insertExamlog", log);  
    10.         }                                                                              
    11.         smc.executeBatch();                                                              
    12.     } catch (Exception e) {                                                            
    13.         // TODO: handle exception                                                        
    14.     }finally{                                                                          
    15.         smc.commitTransaction();                                                         
    16.         smc.endTransaction();                                                            
    17.     }                                                                                  
    18. }    

                                                                                     

    (2)直接采用回调函数设置                                                                             

    Java代码  收藏代码
      1. public void batchAddExamlog2(List examlogList){                                      
      2.     getSqlMapClientTemplate().execute(new SqlMapClientCallback() {                     
      3.         public Object doInSqlMapClient(SqlMapExecutor executor) throws SQLException {  
      4.          executor.startBatch();                                                        
      5.          executor.update("insertSomething""myParamValue");                           
      6.          executor.update("insertSomethingElse""myOtherParamValue");                  
      7.          executor.executeBatch();                                                      
      8.          return null;                                                                  
      9.         }                                                                              
      10.     });                                                                              
      11. }  
  • 相关阅读:
    ExecuteScalar requires the command to have a transaction when the connection assigned to the command is in a pending
    如何从vss中分离程序
    String or binary data would be truncated
    the pop3 service failed to retrieve authentication type and cannot continue
    The POP3 service failed to start because
    IIS Error he system cannot find the file specified _找不到页面
    pku2575Jolly Jumpers
    pku2940Wine Trading in Gergovia
    pku3219二项式系数
    pku1029false coin
  • 原文地址:https://www.cnblogs.com/zfdai/p/3575312.html
Copyright © 2011-2022 走看看