天天看點

Ibatis批量操作資料庫

// 這個BaseDAOIbatis是項目中的一個類,如果沒有這個,則需要一個繼承了

// SqlMapClientDaoSupport的類

  BaseDAOIbatis ibatisDao = new BaseDAOIbatis();

  ibatisDao.getSqlMapClientTemplate().execute(new SqlMapClientCallback() {

   public Object doInSqlMapClient(SqlMapExecutor executor)

     throws SQLException {

    executor.startBatch();

    int batch = 0;

    for (int i = 0; i < list.size(); i++) {

     Properties prop = list.get(i);

     // 調用擷取sequence的方法。如果沒有的話就去掉這行代碼。

     // TreeCate.setTreeCateId(getNextId());

     // 參數1為:ibatis中需要執行的語句的id

     executor.insert("updateStatus", prop);

     batch++;

     // 每500條批量送出一次。

     if (batch == 500) {

      executor.executeBatch();

      batch = 0;

     }

    }

    // 如果不足500條

    executor.executeBatch();

    return null;

   }

  });

 }

本文轉自 winters1224 51CTO部落格,原文連結:http://blog.51cto.com/winters1224/797774,如需轉載請自行聯系原作者