Package org.springframework.r2dbc.core
Interface DatabaseClient.GenericExecuteSpec
- Enclosing interface:
- DatabaseClient
public static interface DatabaseClient.GenericExecuteSpec
Contract for specifying an SQL call along with options leading to the execution.
-
Method Summary
Modifier and TypeMethodDescriptionBind a non-null
value to a parameter identified by itsindex
.Bind a non-null
value to a parameter identified by itsname
.Bind anull
value to a parameter identified by itsindex
.Bind anull
value to a parameter identified by itsname
.bindProperties
(Object source) Bind the bean properties or record components from the given source object, registering each as a named parameter.bindValues
(List<?> source) Bind the parameter values from the given source list, registering each as a positional parameter using their order in the given list as their index.bindValues
(Map<String, ?> source) Bind the parameter values from the given source map, registering each as a parameter with the map key as name.fetch()
Perform the SQL call and retrieve the result by entering the execution stage.Add the given filter to the end of the filter chain.filter
(StatementFilterFunction filter) Add the given filter to the end of the filter chain.<R> reactor.core.publisher.Flux<R>
<R> RowsFetchSpec<R>
map
(BiFunction<Row, RowMetadata, R> mappingFunction) Configure a result mappingfunction
and enter the execution stage.<R> RowsFetchSpec<R>
Configure a result mappingfunction
and enter the execution stage.<R> RowsFetchSpec<R>
mapProperties
(Class<R> mappedClass) Configure a row mapper for the given mapped class and enter the execution stage.<R> RowsFetchSpec<R>
Configure a mapping for values in the first column and enter the execution stage.reactor.core.publisher.Mono<Void>
then()
Perform the SQL call and return aMono
that completes without result on statement completion.
-
Method Details
-
bind
Bind a non-null
value to a parameter identified by itsindex
.- Parameters:
index
- zero based index to bind the parameter tovalue
- either a scalar value or aParameter
-
bindNull
Bind anull
value to a parameter identified by itsindex
.- Parameters:
index
- zero based index to bind the parameter totype
- the parameter type
-
bind
Bind a non-null
value to a parameter identified by itsname
.- Parameters:
name
- the name of the parametervalue
- either a scalar value or aParameter
-
bindNull
Bind anull
value to a parameter identified by itsname
.- Parameters:
name
- the name of the parametertype
- the parameter type
-
bindValues
Bind the parameter values from the given source list, registering each as a positional parameter using their order in the given list as their index.- Parameters:
source
- the source list of parameters, with their order as position and each value either a scalar value or aParameter
- Since:
- 6.2
- See Also:
-
bindValues
Bind the parameter values from the given source map, registering each as a parameter with the map key as name.- Parameters:
source
- the source map of parameters, with keys as names and each value either a scalar value or aParameter
- Since:
- 6.1
- See Also:
-
bindProperties
Bind the bean properties or record components from the given source object, registering each as a named parameter.- Parameters:
source
- the source object (a JavaBean or record)- Since:
- 6.1
- See Also:
-
filter
default DatabaseClient.GenericExecuteSpec filter(Function<? super Statement, ? extends Statement> filterFunction) Add the given filter to the end of the filter chain.Filter functions are typically used to invoke methods on the Statement before it is executed. For example:
DatabaseClient client = …; client.sql("SELECT book_id FROM book").filter(statement -> statement.fetchSize(100))
- Parameters:
filterFunction
- the filter to be added to the chain
-
filter
Add the given filter to the end of the filter chain.Filter functions are typically used to invoke methods on the Statement before it is executed. For example:
DatabaseClient client = …; client.sql("SELECT book_id FROM book").filter((statement, next) -> next.execute(statement.fetchSize(100)))
- Parameters:
filter
- the filter to be added to the chain
-
map
Configure a result mappingfunction
and enter the execution stage.- Type Parameters:
R
- the result type- Parameters:
mappingFunction
- a function that maps fromReadable
to the result type- Returns:
- a
RowsFetchSpec
for configuration what to fetch - Since:
- 6.0
-
map
Configure a result mappingfunction
and enter the execution stage.- Type Parameters:
R
- the result type- Parameters:
mappingFunction
- a function that maps fromRow
andRowMetadata
to the result type- Returns:
- a
RowsFetchSpec
for configuration what to fetch
-
mapValue
Configure a mapping for values in the first column and enter the execution stage.- Type Parameters:
R
- the result type- Parameters:
mappedClass
- the target class (a database-supported value class)- Returns:
- a
RowsFetchSpec
for configuration what to fetch - Since:
- 6.1
- See Also:
-
mapProperties
Configure a row mapper for the given mapped class and enter the execution stage.- Type Parameters:
R
- the result type- Parameters:
mappedClass
- the target class (a JavaBean or record) with properties to map to (bean properties or record components)- Returns:
- a
RowsFetchSpec
for configuration what to fetch - Since:
- 6.1
- See Also:
-
flatMap
- Type Parameters:
R
- the result type- Parameters:
mappingFunction
- a function that maps fromResult
into a result publisher- Returns:
- a
Flux
that emits mapped elements - Since:
- 6.0
- See Also:
-
fetch
Perform the SQL call and retrieve the result by entering the execution stage. -
then
reactor.core.publisher.Mono<Void> then()Perform the SQL call and return aMono
that completes without result on statement completion.- Returns:
- a
Mono
ignoring its payload (actively dropping)
-