@Override public int update( String sql, SqlParameterSource paramSource, KeyHolder generatedKeyHolder, @Nullable String[] keyColumnNames) throws DataAccessException { PreparedStatementCreator psc = getPreparedStatementCreator(sql, paramSource, pscf -> { if (keyColumnNames != null) { pscf.setGeneratedKeysColumnNames(keyColumnNames); } else { pscf.setReturnGeneratedKeys(true); } }); return getJdbcOperations().update(psc, generatedKeyHolder); }
/** * Overridden method to configure the PreparedStatementCreatorFactory * based on our declared parameters. */ @Override protected final void compileInternal() { this.preparedStatementFactory = new PreparedStatementCreatorFactory(resolveSql(), getDeclaredParameters()); this.preparedStatementFactory.setResultSetType(getResultSetType()); this.preparedStatementFactory.setUpdatableResults(isUpdatableResults()); this.preparedStatementFactory.setReturnGeneratedKeys(isReturnGeneratedKeys()); if (getGeneratedKeysColumnNames() != null) { this.preparedStatementFactory.setGeneratedKeysColumnNames(getGeneratedKeysColumnNames()); } onCompileInternal(); }
public int update( String sql, SqlParameterSource paramSource, KeyHolder generatedKeyHolder, String[] keyColumnNames) throws DataAccessException { ParsedSql parsedSql = getParsedSql(sql); String sqlToUse = NamedParameterUtils.substituteNamedParameters(parsedSql, paramSource); Object[] params = NamedParameterUtils.buildValueArray(parsedSql, paramSource, null); List<SqlParameter> declaredParameters = NamedParameterUtils.buildSqlParameterList(parsedSql, paramSource); PreparedStatementCreatorFactory pscf = new PreparedStatementCreatorFactory(sqlToUse, declaredParameters); if (keyColumnNames != null) { pscf.setGeneratedKeysColumnNames(keyColumnNames); } else { pscf.setReturnGeneratedKeys(true); } return getJdbcOperations().update(pscf.newPreparedStatementCreator(params), generatedKeyHolder); }
/** * Overridden method to configure the PreparedStatementCreatorFactory * based on our declared parameters. */ @Override protected final void compileInternal() { this.preparedStatementFactory = new PreparedStatementCreatorFactory(resolveSql(), getDeclaredParameters()); this.preparedStatementFactory.setResultSetType(getResultSetType()); this.preparedStatementFactory.setUpdatableResults(isUpdatableResults()); this.preparedStatementFactory.setReturnGeneratedKeys(isReturnGeneratedKeys()); if (getGeneratedKeysColumnNames() != null) { this.preparedStatementFactory.setGeneratedKeysColumnNames(getGeneratedKeysColumnNames()); } onCompileInternal(); }
/** * Overridden method to configure the PreparedStatementCreatorFactory * based on our declared parameters. */ @Override protected final void compileInternal() { this.preparedStatementFactory = new PreparedStatementCreatorFactory(getSql(), getDeclaredParameters()); this.preparedStatementFactory.setResultSetType(getResultSetType()); this.preparedStatementFactory.setUpdatableResults(isUpdatableResults()); this.preparedStatementFactory.setReturnGeneratedKeys(isReturnGeneratedKeys()); if (getGeneratedKeysColumnNames() != null) { this.preparedStatementFactory.setGeneratedKeysColumnNames(getGeneratedKeysColumnNames()); } this.preparedStatementFactory.setNativeJdbcExtractor(getJdbcTemplate().getNativeJdbcExtractor()); onCompileInternal(); }
pscf.setGeneratedKeysColumnNames(keyColumnNames);