java for inside for循环

时间:2014-04-01 07:42:12

标签: java commit

在JAVA中使用for循环中的提交有什么优点/缺点?

for(int cnt = 0; cnt < pdbResponseVOList.size(); cnt++) {
    //UPDATE STATEMENT
    stmt = vSqlConnection.prepareStatement(vUpdateProvisioningTable);
    int vUpdateSucess = stmt.executeUpdate();
    vSqlConnection.commit();
} //end for loop
//stmt.close()
// vS

qlConnection.close()

2 个答案:

答案 0 :(得分:2)

好吧,您将提交每次迭代而不是整个循环,因此当后续迭代失败时,您无法轻松回滚已提交的迭代。根据您的要求,这可能是优势或劣势。

答案 1 :(得分:2)

取决于你的任务。如果您的语句在逻辑上相关联,那么您需要在循环之后提交。如果你的语句在逻辑上彼此独立,那么你可以在你的循环中提交。

例1:

你打算转钱。首先从发送方中减去总和,然后将总和添加到接收方。在这种情况下,您需要将提交放在循环之外,因为您不打算从发送方中减去钱,而不是将其添加到接收方。如果出现问题,您不想提交。

例2:

您需要更新用户的状态。如果语句失败,则仍应执行其他更新。在这种情况下,您可能希望将提交放在循环中。