日期:2014-05-18  浏览次数:20551 次

问个JDBC批量更新的问题
数据库是Oracle的,用JDBC批量更新操作
更新的表结构如下
CARDID CHAR(16) N 卡标识(主键)
CARDNO VARCHAR2(64) N 卡号
CARDSTATUSID CHAR(2) N 卡状态
更新的SQL语句如下:
update   tab_card   set   cardstatusid=?   where   cardid=?

[code]stmt   =   conn.prepareStatement(sql);
List   list   =   param.getBatchAll();
for   (int   i   =   0;   i   <   list.size();   i++)   {
  JDBCUtils.setParams(stmt,   (Object[])   list.get(i));
  stmt.addBatch();
}
stmt.executeBatch();[/code]

上面的list是设置的参数。
这样我们的系统更新1万条数据花的时间比较长,而且如果一次更新的数量比较多(大于1万条)的话,还会经常出错。
有什么方法可以优化?

------解决方案--------------------
帮up.