mirror of
https://github.com/spring-projects/spring-framework
synced 2026-06-08 17:33:33 +00:00
Use StringBuilder in JdbcTemplate for batch updates
See gh-36032 Signed-off-by: jher235 <tim668666@gmail.com>
This commit is contained in:
@@ -605,14 +605,20 @@ public class JdbcTemplate extends JdbcAccessor implements JdbcOperations {
|
||||
rowsAffected = stmt.executeBatch();
|
||||
}
|
||||
catch (BatchUpdateException ex) {
|
||||
String batchExceptionSql = null;
|
||||
for (int i = 0; i < ex.getUpdateCounts().length; i++) {
|
||||
if (ex.getUpdateCounts()[i] == Statement.EXECUTE_FAILED) {
|
||||
batchExceptionSql = appendSql(batchExceptionSql, sql[i]);
|
||||
int[] updateCounts = ex.getUpdateCounts();
|
||||
StringBuilder batchExceptionSql = new StringBuilder();
|
||||
|
||||
for (int i = 0; i < Math.min(updateCounts.length, sql.length); i++) {
|
||||
if (updateCounts[i] == Statement.EXECUTE_FAILED) {
|
||||
if (batchExceptionSql.length() > 0) {
|
||||
batchExceptionSql.append("; ");
|
||||
}
|
||||
batchExceptionSql.append(sql[i]);
|
||||
}
|
||||
}
|
||||
if (StringUtils.hasLength(batchExceptionSql)) {
|
||||
this.currSql = batchExceptionSql;
|
||||
|
||||
if (batchExceptionSql.length() > 0) {
|
||||
this.currSql = batchExceptionSql.toString();
|
||||
}
|
||||
throw ex;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user