在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()
答案 0 :(得分:2)
好吧,您将提交每次迭代而不是整个循环,因此当后续迭代失败时,您无法轻松回滚已提交的迭代。根据您的要求,这可能是优势或劣势。
答案 1 :(得分:2)
取决于你的任务。如果您的语句在逻辑上相关联,那么您需要在循环之后提交。如果你的语句在逻辑上彼此独立,那么你可以在你的循环中提交。
例1:
你打算转钱。首先从发送方中减去总和,然后将总和添加到接收方。在这种情况下,您需要将提交放在循环之外,因为您不打算从发送方中减去钱,而不是将其添加到接收方。如果出现问题,您不想提交。
例2:
您需要更新用户的状态。如果语句失败,则仍应执行其他更新。在这种情况下,您可能希望将提交放在循环中。