天天看点

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,如需转载请自行联系原作者