ibatis批量更新

public void batchUpdate( final String statementName, final List list) {   
  
       try {   
  
           if (list != null ) {   
  
              this .getSqlMapClientTemplate().execute( new SqlMapClientCallback() {   
  
                  public Object doInSqlMapClient(SqlMapExecutor executor) throws SQLException {   
  
                     executor.startBatch();   
  
                     for ( int i = 0, n = list.size(); i < n; i++) {   
  
                         executor.update(statementName, list.get(i));   
  
                     }   
  
                     executor.executeBatch();   
  
                     return null ;   
  
                  }   
  
              });   
  
           }   
  
       } catch (Exception e) {   
  
           if ( log .isDebugEnabled()) {   
  
              e.printStackTrace();   
  
              log .debug( "batchUpdate error: id [" + statementName + "], parameterObject [" + list + "].  Cause: " + e.getMessage());   
  
           }   
  
       }   
  
   
  
    }   
  
    public void batchInsert( final String statementName, final List list) {   
  
       try {   
  
           if (list != null ) {   
  
              this .getSqlMapClientTemplate().execute( new SqlMapClientCallback() {   
  
                  public Object doInSqlMapClient(SqlMapExecutor executor) throws SQLException {   
  
                     executor.startBatch();   
  
                     for ( int i = 0, n = list.size(); i < n; i++) {   
  
                         executor.insert(statementName, list.get(i));   
  
                     }   
  
                     executor.executeBatch();   
  
                     return null ;   
  
                  }   
  
              });   
  
           }   
  
       } catch (Exception e) {   
  
           if ( log .isDebugEnabled()) {   
  
              e.printStackTrace();   
  
              log .debug( "batchInsert error: id [" + statementName + "], parameterObject [" + list + "].  Cause: " + e.getMessage());   
  
           }   
  
       }   
  
   
  
    }   
  
    public void batchDelete( final String statementName, final List list) {   
  
       try {   
  
           if (list != null ) {   
  
              this .getSqlMapClientTemplate().execute( new SqlMapClientCallback() {   
  
                  public Object doInSqlMapClient(SqlMapExecutor executor) throws SQLException {   
  
                     executor.startBatch();   
  
                     for ( int i = 0, n = list.size(); i < n; i++) {   
  
                         executor.delete(statementName, list.get(i));   
  
                     }   
  
                     executor.executeBatch();   
  
                     return null ;   
  
                  }   
  
              });   
  
           }   
  
       } catch (Exception e) {   
  
           if ( log .isDebugEnabled()) {   
  
              e.printStackTrace();   
  
              log .debug( "batchDelete error: id [" + statementName + "], parameterObject [" + list + "].  Cause: " + e.getMessage());   
  
           }   
  
       }   
  
   
  
    }  

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章