private int[] processBatchResult(PreparedStatement ps, int[] rows, boolean clearKeys,
			final KeyHolder generatedKeyHolder) throws SQLException {
		if (generatedKeyHolder != null) {
			List<Map<String, Object>> generatedKeys = generatedKeyHolder.getKeyList();
			// 如果clearKeys为true，表示为第一次调用，需要清除generatedKeys中的原有值。
			if (clearKeys) {
				generatedKeys.clear();
			}
			ResultSet keys = ps.getGeneratedKeys();
			if (keys != null) {
				try {
					RowMapperResultSetExtractor<Map<String, Object>> rse = new RowMapperResultSetExtractor<Map<String, Object>>(
							new ColumnMapRowMapper(), rows.length);
					generatedKeys.addAll(rse.extractData(keys));
				} finally {
					JdbcUtils.closeResultSet(keys);
				}
			}
		}
		return rows;
	}