Interface AsyncCqlOperations
- All Known Implementing Classes:
AsyncCqlTemplate
CqlTemplate
, but returns result handles or accepts callbacks as opposed to concrete results. Implemented by
AsyncCqlTemplate
. Not often used directly, but a useful option to enhance testability, as it can easily be
mocked or stubbed.- Since:
- 2.0
- Author:
- Mark Paluch, John Blum
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionexecute
(com.datastax.oss.driver.api.core.cql.Statement<?> statement) Issue a single CQL execute, typically a DDL statement, insert, update or delete statement.Issue a single CQL execute, typically a DDL statement, insert, update or delete statement.Issue a single CQL operation (such as an insert, update or delete statement) via a prepared statement, binding the given arguments.execute
(String cql, PreparedStatementBinder psb) Issue an statement using aPreparedStatementBinder
to set bind parameters, with given CQL.<T> CompletableFuture<T>
execute
(String cql, PreparedStatementCallback<T> action) Execute a CQL data access operation, implemented as callback action working on a CQLPreparedStatement
.execute
(AsyncPreparedStatementCreator preparedStatementCreator) Issue a single CQL execute operation (such as an insert, update or delete statement) using aAsyncPreparedStatementCreator
to provide CQL and any required parameters.<T> CompletableFuture<T>
execute
(AsyncPreparedStatementCreator preparedStatementCreator, PreparedStatementCallback<T> action) Execute a CQL data access operation, implemented as callback action working on a CQLPreparedStatement
.<T> CompletableFuture<T>
execute
(AsyncSessionCallback<T> action) Execute a CQL data access operation, implemented as callback action working on aCqlSession
.<T> CompletableFuture<T>
query
(com.datastax.oss.driver.api.core.cql.Statement<?> statement, AsyncResultSetExtractor<T> resultSetExtractor) Execute a query given static CQL, reading theResultSet
with aAsyncResultSetExtractor
.query
(com.datastax.oss.driver.api.core.cql.Statement<?> statement, RowCallbackHandler rowCallbackHandler) Execute a query given static CQL, reading theResultSet
on a per-row basis with aRowCallbackHandler
.<T> CompletableFuture<List<T>>
Execute a query given static CQL, mapping each row to a Java object via aRowMapper
.<T> CompletableFuture<T>
query
(String cql, AsyncResultSetExtractor<T> resultSetExtractor) Execute a query given static CQL, reading theResultSet
with aAsyncResultSetExtractor
.<T> CompletableFuture<T>
query
(String cql, AsyncResultSetExtractor<T> resultSetExtractor, Object... args) Query given CQL to create a prepared statement from CQL and a list of arguments to bind to the query, reading theResultSet
with aAsyncResultSetExtractor
.<T> CompletableFuture<T>
query
(String cql, PreparedStatementBinder psb, AsyncResultSetExtractor<T> resultSetExtractor) Query using a prepared statement, reading theResultSet
with aAsyncResultSetExtractor
.query
(String cql, PreparedStatementBinder psb, RowCallbackHandler rowCallbackHandler) Query given CQL to create a prepared statement from CQL and aPreparedStatementBinder
implementation that knows how to bind values to the query, reading theResultSet
on a per-row basis with aRowCallbackHandler
.<T> CompletableFuture<List<T>>
query
(String cql, PreparedStatementBinder psb, RowMapper<T> rowMapper) Query given CQL to create a prepared statement from CQL and aPreparedStatementBinder
implementation that knows how to bind values to the query, mapping each row to a Java object via aRowMapper
.query
(String cql, RowCallbackHandler rowCallbackHandler) Execute a query given static CQL, reading theResultSet
on a per-row basis with aRowCallbackHandler
.query
(String cql, RowCallbackHandler rowCallbackHandler, Object... args) Query given CQL to create a prepared statement from CQL and a list of arguments to bind to the query, reading theResultSet
on a per-row basis with aRowCallbackHandler
.<T> CompletableFuture<List<T>>
Execute a query given static CQL, mapping each row to a Java object via aRowMapper
.<T> CompletableFuture<List<T>>
Query given CQL to create a prepared statement from CQL and a list of arguments to bind to the query, mapping each row to a Java object via aRowMapper
.<T> CompletableFuture<T>
query
(AsyncPreparedStatementCreator preparedStatementCreator, AsyncResultSetExtractor<T> resultSetExtractor) Query using a prepared statement, reading theResultSet
with aAsyncResultSetExtractor
.<T> CompletableFuture<T>
query
(AsyncPreparedStatementCreator preparedStatementCreator, PreparedStatementBinder psb, AsyncResultSetExtractor<T> resultSetExtractor) Query using a prepared statement and aPreparedStatementBinder
implementation that knows how to bind values to the query, reading theResultSet
with aAsyncResultSetExtractor
.query
(AsyncPreparedStatementCreator preparedStatementCreator, PreparedStatementBinder psb, RowCallbackHandler rowCallbackHandler) Query using a prepared statement and aPreparedStatementBinder
implementation that knows how to bind values to the query, reading theResultSet
on a per-row basis with aRowCallbackHandler
.<T> CompletableFuture<List<T>>
query
(AsyncPreparedStatementCreator preparedStatementCreator, PreparedStatementBinder psb, RowMapper<T> rowMapper) Query using a prepared statement and aPreparedStatementBinder
implementation that knows how to bind values to the query, mapping each row to a Java object via aRowMapper
.query
(AsyncPreparedStatementCreator preparedStatementCreator, RowCallbackHandler rowCallbackHandler) Query using a prepared statement, reading theResultSet
on a per-row basis with aRowCallbackHandler
.<T> CompletableFuture<List<T>>
query
(AsyncPreparedStatementCreator preparedStatementCreator, RowMapper<T> rowMapper) Query using a prepared statement, mapping each row to a Java object via aRowMapper
.queryForList
(com.datastax.oss.driver.api.core.cql.Statement<?> statement) Execute a query for a resultList
, given static CQL.<T> CompletableFuture<List<T>>
queryForList
(com.datastax.oss.driver.api.core.cql.Statement<?> statement, Class<T> elementType) Execute a query for a resultList
, given static CQL.queryForList
(String cql) Execute a query for a resultList
, given static CQL.<T> CompletableFuture<List<T>>
queryForList
(String cql, Class<T> elementType) Execute a query for a resultList
, given static CQL.<T> CompletableFuture<List<T>>
queryForList
(String cql, Class<T> elementType, Object... args) Query given CQL to create a prepared statement from CQL and a list of arguments to bind to the query, expecting a resultList
.queryForList
(String cql, Object... args) Query given CQL to create a prepared statement from CQL and a list of arguments to bind to the query, expecting a resultList
.queryForMap
(com.datastax.oss.driver.api.core.cql.Statement<?> statement) Execute a query for a result Map, given static CQL.queryForMap
(String cql) Execute a query for a result Map, given static CQL.queryForMap
(String cql, Object... args) Query given CQL to create a prepared statement from CQL and a list of arguments to bind to the query, expecting a result Map.<T> CompletableFuture<T>
queryForObject
(com.datastax.oss.driver.api.core.cql.Statement<?> statement, Class<T> requiredType) Execute a query for a result object, given static CQL.<T> CompletableFuture<T>
queryForObject
(com.datastax.oss.driver.api.core.cql.Statement<?> statement, RowMapper<T> rowMapper) Execute a query given static CQL, mapping a single result row to a Java object via aRowMapper
.<T> CompletableFuture<T>
queryForObject
(String cql, Class<T> requiredType) Execute a query for a result object, given static CQL.<T> CompletableFuture<T>
queryForObject
(String cql, Class<T> requiredType, Object... args) Query given CQL to create a prepared statement from CQL and a list of arguments to bind to the query, expecting a result object.<T> CompletableFuture<T>
queryForObject
(String cql, RowMapper<T> rowMapper) Execute a query given static CQL, mapping a single result row to a Java object via aRowMapper
.<T> CompletableFuture<T>
queryForObject
(String cql, RowMapper<T> rowMapper, Object... args) Query given CQL to create a prepared statement from CQL and a list of arguments to bind to the query, mapping a single result row to a Java object via aRowMapper
.CompletableFuture<com.datastax.oss.driver.api.core.cql.AsyncResultSet>
queryForResultSet
(com.datastax.oss.driver.api.core.cql.Statement<?> statement) Execute a query for a ResultSet, given static CQL.CompletableFuture<com.datastax.oss.driver.api.core.cql.AsyncResultSet>
queryForResultSet
(String cql) Execute a query for a ResultSet, given static CQL.CompletableFuture<com.datastax.oss.driver.api.core.cql.AsyncResultSet>
queryForResultSet
(String cql, Object... args) Query given CQL to create a prepared statement from CQL and a list of arguments to bind to the query, expecting a ResultSet.
-
Method Details
-
execute
Execute a CQL data access operation, implemented as callback action working on aCqlSession
. This allows for implementing arbitrary data access operations, within Spring's managed CQL environment: that is, converting CQLDriverException
s into Spring'sDataAccessException
hierarchy.The callback action can return a result object, for example a domain object or a collection of domain objects.
- Parameters:
action
- the callback object that specifies the action.- Returns:
- a result object returned by the action, or null.
- Throws:
DataAccessException
- if there is any problem executing the query.
-
execute
Issue a single CQL execute, typically a DDL statement, insert, update or delete statement.- Parameters:
cql
- static CQL to execute, must not be null or empty.- Returns:
- boolean value whether the statement was applied.
- Throws:
DataAccessException
- if there is any problem executing the query.
-
execute
Issue a single CQL operation (such as an insert, update or delete statement) via a prepared statement, binding the given arguments.- Parameters:
cql
- static CQL to execute, must not be null or empty.args
- arguments to bind to the query (leaving it to thePreparedStatement
to guess the corresponding CQL type).- Returns:
- boolean value whether the statement was applied.
- Throws:
DataAccessException
- if there is any problem executing the query.
-
execute
CompletableFuture<Boolean> execute(String cql, @Nullable PreparedStatementBinder psb) throws DataAccessException Issue an statement using aPreparedStatementBinder
to set bind parameters, with given CQL. Simpler than using aAsyncPreparedStatementCreator
as this method will create thePreparedStatement
: ThePreparedStatementBinder
just needs to set parameters.- Parameters:
cql
- static CQL to execute, must not be null or empty.psb
- object that knows how to set values on the prepared statement. If this is null, the CQL will be assumed to contain no bind parameters. Even if there are no bind parameters, this object may be used to set fetch size and other performance options.- Returns:
- boolean value whether the statement was applied.
- Throws:
DataAccessException
- if there is any problem executing the query.
-
execute
<T> CompletableFuture<T> execute(String cql, PreparedStatementCallback<T> action) throws DataAccessException Execute a CQL data access operation, implemented as callback action working on a CQLPreparedStatement
. This allows for implementing arbitrary data access operations on a single Statement, within Spring's managed CQL environment: that is, participating in Spring-managed transactions and converting CQLDriverException
s into Spring'sDataAccessException
hierarchy.The callback action can return a result object, for example a domain object or a collection of domain objects.
- Parameters:
cql
- static CQL to execute, must not be null or empty.action
- callback object that specifies the action, must not be null.- Returns:
- a result object returned by the action, or null
- Throws:
DataAccessException
- if there is any problem executing the query.
-
query
<T> CompletableFuture<T> query(String cql, AsyncResultSetExtractor<T> resultSetExtractor) throws DataAccessException Execute a query given static CQL, reading theResultSet
with aAsyncResultSetExtractor
.Uses a CQL Statement, not a
PreparedStatement
. If you want to execute a static query with aPreparedStatement
, use the overloadedquery
method with null as argument array.- Parameters:
cql
- static CQL to execute, must not be null or empty.resultSetExtractor
- object that will extract all rows of results, must not be null.- Returns:
- an arbitrary result object, as returned by the AsyncResultSetExtractor.
- Throws:
DataAccessException
- if there is any problem executing the query.- See Also:
-
query
CompletableFuture<Void> query(String cql, RowCallbackHandler rowCallbackHandler) throws DataAccessException Execute a query given static CQL, reading theResultSet
on a per-row basis with aRowCallbackHandler
.Uses a CQL Statement, not a
PreparedStatement
. If you want to execute a static query with aPreparedStatement
, use the overloadedquery
method with null as argument array.- Parameters:
cql
- static CQL to execute, must not be null or empty.rowCallbackHandler
- object that will extract results, one row at a time, must not be null.- Throws:
DataAccessException
- if there is any problem executing the query.- See Also:
-
query
Execute a query given static CQL, mapping each row to a Java object via aRowMapper
.Uses a CQL Statement, not a
PreparedStatement
. If you want to execute a static query with aPreparedStatement
, use the overloadedquery
method with null as argument array.- Parameters:
cql
- static CQL to execute, must not be null or empty.rowMapper
- object that will map one object per row, must not be null.- Returns:
- the result
List
, containing mapped objects. - Throws:
DataAccessException
- if there is any problem executing the query.- See Also:
-
query
<T> CompletableFuture<T> query(String cql, AsyncResultSetExtractor<T> resultSetExtractor, Object... args) throws DataAccessException Query given CQL to create a prepared statement from CQL and a list of arguments to bind to the query, reading theResultSet
with aAsyncResultSetExtractor
.- Parameters:
cql
- static CQL to execute, must not be null or empty.resultSetExtractor
- object that will extract results, must not be null.args
- arguments to bind to the query (leaving it to thePreparedStatement
to guess the corresponding CQL type).- Returns:
- an arbitrary result object, as returned by the
AsyncResultSetExtractor
- Throws:
DataAccessException
- if there is any problem executing the query.
-
query
CompletableFuture<Void> query(String cql, RowCallbackHandler rowCallbackHandler, Object... args) throws DataAccessException Query given CQL to create a prepared statement from CQL and a list of arguments to bind to the query, reading theResultSet
on a per-row basis with aRowCallbackHandler
.- Parameters:
cql
- static CQL to execute, must not be null or empty.rowCallbackHandler
- object that will extract results, one row at a time, must not be null.args
- arguments to bind to the query (leaving it to thePreparedStatement
to guess the corresponding CQL type)- Throws:
DataAccessException
- if there is any problem executing the query.
-
query
<T> CompletableFuture<List<T>> query(String cql, RowMapper<T> rowMapper, Object... args) throws DataAccessException Query given CQL to create a prepared statement from CQL and a list of arguments to bind to the query, mapping each row to a Java object via aRowMapper
.- Parameters:
cql
- static CQL to execute, must not be null or empty.rowMapper
- object that will map one object per rowargs
- arguments to bind to the query (leaving it to thePreparedStatement
to guess the corresponding CQL type)- Returns:
- the result
List
, containing mapped objects - Throws:
DataAccessException
- if there is any problem executing the query.
-
query
<T> CompletableFuture<T> query(String cql, @Nullable PreparedStatementBinder psb, AsyncResultSetExtractor<T> resultSetExtractor) throws DataAccessException Query using a prepared statement, reading theResultSet
with aAsyncResultSetExtractor
.- Parameters:
cql
- static CQL to execute, must not be null or empty.psb
- object that knows how to set values on the prepared statement. If this is null, the CQL will be assumed to contain no bind parameters. Even if there are no bind parameters, this object may be used to set fetch size and other performance options.resultSetExtractor
- object that will extract results, must not be null.- Returns:
- an arbitrary result object, as returned by the
AsyncResultSetExtractor
. - Throws:
DataAccessException
- if there is any problem executing the query.
-
query
CompletableFuture<Void> query(String cql, @Nullable PreparedStatementBinder psb, RowCallbackHandler rowCallbackHandler) throws DataAccessException Query given CQL to create a prepared statement from CQL and aPreparedStatementBinder
implementation that knows how to bind values to the query, reading theResultSet
on a per-row basis with aRowCallbackHandler
.- Parameters:
cql
- static CQL to execute, must not be null or empty.psb
- object that knows how to set values on the prepared statement. If this is null, the CQL will be assumed to contain no bind parameters. Even if there are no bind parameters, this object may be used to set fetch size and other performance options.rowCallbackHandler
- object that will extract results, one row at a time, must not be null.- Throws:
DataAccessException
- if there is any problem executing the query.
-
query
<T> CompletableFuture<List<T>> query(String cql, @Nullable PreparedStatementBinder psb, RowMapper<T> rowMapper) throws DataAccessException Query given CQL to create a prepared statement from CQL and aPreparedStatementBinder
implementation that knows how to bind values to the query, mapping each row to a Java object via aRowMapper
.- Parameters:
cql
- static CQL to execute, must not be null or empty.psb
- object that knows how to set values on the prepared statement. If this is null, the CQL will be assumed to contain no bind parameters. Even if there are no bind parameters, this object may be used to set fetch size and other performance options.rowMapper
- object that will map one object per row, must not be null.- Returns:
- the result
List
, containing mapped objects. - Throws:
DataAccessException
- if there is any problem executing the query.
-
queryForList
Execute a query for a resultList
, given static CQL.Uses a CQL Statement, not a
PreparedStatement
. If you want to execute a static query with aPreparedStatement
, use the overloadedqueryForList
method with null as argument array.The results will be mapped to a
List
(one item for each row) ofMap
s (one entry for each column using the column name as the key). Each item in theList
will be of the form returned by this interface's queryForMap() methods.- Parameters:
cql
- static CQL to execute, must not be null or empty.- Returns:
- a
List
that contains aMap
per row. - Throws:
DataAccessException
- if there is any problem executing the query.- See Also:
-
queryForList
CompletableFuture<List<Map<String,Object>>> queryForList(String cql, Object... args) throws DataAccessException Query given CQL to create a prepared statement from CQL and a list of arguments to bind to the query, expecting a resultList
.The results will be mapped to a
List
(one item for each row) ofMap
s (one entry for each column, using the column name as the key). Each item in theList
will be of the form returned by this interface's queryForMap() methods.- Parameters:
cql
- static CQL to execute, must not be null or empty.args
- arguments to bind to the query (leaving it to thePreparedStatement
to guess the corresponding CQL type).- Returns:
- a
List
that contains aMap
per row - Throws:
DataAccessException
- if there is any problem executing the query.- See Also:
-
queryForList
<T> CompletableFuture<List<T>> queryForList(String cql, Class<T> elementType) throws DataAccessException Execute a query for a resultList
, given static CQL.Uses a CQL Statement, not a
PreparedStatement
. If you want to execute a static query with aPreparedStatement
, use the overloadedqueryForList
method with null as argument array.The results will be mapped to a
List
(one item for each row) of result objects, each of them matching the specified element type.- Parameters:
cql
- static CQL to execute, must not be null or empty.elementType
- the required type of element in the resultList
(for example,Integer.class
), must not be null.- Returns:
- a
List
of objects that match the specified element type. - Throws:
DataAccessException
- if there is any problem executing the query.- See Also:
-
queryForList
<T> CompletableFuture<List<T>> queryForList(String cql, Class<T> elementType, Object... args) throws DataAccessException Query given CQL to create a prepared statement from CQL and a list of arguments to bind to the query, expecting a resultList
.The results will be mapped to a
List
(one item for each row) of result objects, each of them matching the specified element type.- Parameters:
cql
- static CQL to execute, must not be null or empty.elementType
- the required type of element in the resultList
(for example,Integer.class
), must not be null.args
- arguments to bind to the query (leaving it to thePreparedStatement
to guess the corresponding CQL type).- Returns:
- a
List
of objects that match the specified element type. - Throws:
DataAccessException
- if there is any problem executing the query.- See Also:
-
queryForMap
Execute a query for a result Map, given static CQL.Uses a CQL Statement, not a
PreparedStatement
. If you want to execute a static query with aPreparedStatement
, use the overloadedqueryForMap(String, Object...)
method with null as argument array.The query is expected to be a single row query; the result row will be mapped to a Map (one entry for each column, using the column name as the key).
- Parameters:
cql
- static CQL to execute, must not be null or empty.- Returns:
- the result Map (one entry for each column, using the column name as the key), must not be null.
- Throws:
IncorrectResultSizeDataAccessException
- if the query does not return exactly one row.DataAccessException
- if there is any problem executing the query.- See Also:
-
queryForMap
CompletableFuture<Map<String,Object>> queryForMap(String cql, Object... args) throws DataAccessException Query given CQL to create a prepared statement from CQL and a list of arguments to bind to the query, expecting a result Map. The queryForMap() methods defined by this interface are appropriate when you don't have a domain model. Otherwise, consider using one of the queryForObject() methods.The query is expected to be a single row query; the result row will be mapped to a Map (one entry for each column, using the column name as the key).
- Parameters:
cql
- static CQL to execute, must not be null or empty.args
- arguments to bind to the query (leaving it to thePreparedStatement
to guess the corresponding CQL type).- Returns:
- the result Map (one entry for each column, using the column name as the key).
- Throws:
IncorrectResultSizeDataAccessException
- if the query does not return exactly one rowDataAccessException
- if there is any problem executing the query.- See Also:
-
queryForObject
<T> CompletableFuture<T> queryForObject(String cql, Class<T> requiredType) throws DataAccessException Execute a query for a result object, given static CQL.Uses a CQL Statement, not a
PreparedStatement
. If you want to execute a static query with aPreparedStatement
, use the overloadedqueryForObject(String, Class, Object...)
method with null as argument array.This method is useful for running static CQL with a known outcome. The query is expected to be a single row/single column query; the returned result will be directly mapped to the corresponding object type.
- Parameters:
cql
- static CQL to execute, must not be null or empty.requiredType
- the type that the result object is expected to match, must not be null.- Returns:
- the result object of the required type, or null in case of CQL NULL.
- Throws:
IncorrectResultSizeDataAccessException
- if the query does not return exactly one row, or does not return exactly one column in that row.DataAccessException
- if there is any problem executing the query.- See Also:
-
queryForObject
<T> CompletableFuture<T> queryForObject(String cql, Class<T> requiredType, Object... args) throws DataAccessException Query given CQL to create a prepared statement from CQL and a list of arguments to bind to the query, expecting a result object.The query is expected to be a single row/single column query; the returned result will be directly mapped to the corresponding object type.
- Parameters:
cql
- static CQL to execute, must not be null or empty.requiredType
- the type that the result object is expected to match, must not be null.args
- arguments to bind to the query (leaving it to the PreparedStatement to guess the corresponding CQL type)- Returns:
- the result object of the required type, or null in case of CQL NULL.
- Throws:
IncorrectResultSizeDataAccessException
- if the query does not return exactly one row, or does not return exactly one column in that row.DataAccessException
- if there is any problem executing the query.- See Also:
-
queryForObject
<T> CompletableFuture<T> queryForObject(String cql, RowMapper<T> rowMapper) throws DataAccessException Execute a query given static CQL, mapping a single result row to a Java object via aRowMapper
.Uses a CQL Statement, not a
PreparedStatement
. If you want to execute a static query with aPreparedStatement
, use the overloadedqueryForObject(String, RowMapper, Object...)
method with null as argument array.- Parameters:
cql
- static CQL to execute, must not be null or empty.rowMapper
- object that will map one object per row, must not be null.- Returns:
- the single mapped object.
- Throws:
IncorrectResultSizeDataAccessException
- if the query does not return exactly one row.DataAccessException
- if there is any problem executing the query.- See Also:
-
queryForObject
<T> CompletableFuture<T> queryForObject(String cql, RowMapper<T> rowMapper, Object... args) throws DataAccessException Query given CQL to create a prepared statement from CQL and a list of arguments to bind to the query, mapping a single result row to a Java object via aRowMapper
.- Parameters:
cql
- static CQL to execute, must not be null or empty.rowMapper
- object that will map one object per row, must not be null.args
- arguments to bind to the query (leaving it to thePreparedStatement
to guess the corresponding CQL type)- Returns:
- the single mapped object
- Throws:
IncorrectResultSizeDataAccessException
- if the query does not return exactly one row.DataAccessException
- if there is any problem executing the query.
-
queryForResultSet
CompletableFuture<com.datastax.oss.driver.api.core.cql.AsyncResultSet> queryForResultSet(String cql) throws DataAccessException Execute a query for a ResultSet, given static CQL.Uses a CQL Statement, not a
PreparedStatement
. If you want to execute a static query with aPreparedStatement
, use the overloadedqueryForResultSet
method with null as argument array.The results will be mapped to an
ResultSet
.- Parameters:
cql
- static CQL to execute, must not be null or empty.- Returns:
- a
ResultSet
representation. - Throws:
DataAccessException
- if there is any problem executing the query.- See Also:
-
queryForResultSet
CompletableFuture<com.datastax.oss.driver.api.core.cql.AsyncResultSet> queryForResultSet(String cql, Object... args) throws DataAccessException Query given CQL to create a prepared statement from CQL and a list of arguments to bind to the query, expecting a ResultSet.The results will be mapped to an
ResultSet
.- Parameters:
cql
- static CQL to execute, must not be null or empty.args
- arguments to bind to the query (leaving it to thePreparedStatement
to guess the corresponding CQL type).- Returns:
- a
ResultSet
representation. - Throws:
DataAccessException
- if there is any problem executing the query.- See Also:
-
execute
CompletableFuture<Boolean> execute(com.datastax.oss.driver.api.core.cql.Statement<?> statement) throws DataAccessException Issue a single CQL execute, typically a DDL statement, insert, update or delete statement.- Parameters:
statement
- static CQLStatement
, must not be null.- Returns:
- boolean value whether the statement was applied.
- Throws:
DataAccessException
- if there is any problem executing the query.
-
query
<T> CompletableFuture<T> query(com.datastax.oss.driver.api.core.cql.Statement<?> statement, AsyncResultSetExtractor<T> resultSetExtractor) throws DataAccessException Execute a query given static CQL, reading theResultSet
with aAsyncResultSetExtractor
.Uses a CQL Statement, not a
PreparedStatement
. If you want to execute a static query with aPreparedStatement
, use the overloadedquery
method with null as argument array.- Parameters:
statement
- static CQLStatement
, must not be null.resultSetExtractor
- object that will extract all rows of results, must not be null.- Returns:
- an arbitrary result object, as returned by the AsyncResultSetExtractor.
- Throws:
DataAccessException
- if there is any problem executing the query.- See Also:
-
query
CompletableFuture<Void> query(com.datastax.oss.driver.api.core.cql.Statement<?> statement, RowCallbackHandler rowCallbackHandler) throws DataAccessException Execute a query given static CQL, reading theResultSet
on a per-row basis with aRowCallbackHandler
.Uses a CQL Statement, not a
PreparedStatement
. If you want to execute a static query with aPreparedStatement
, use the overloadedquery
method with null as argument array.- Parameters:
statement
- static CQLStatement
, must not be null.rowCallbackHandler
- object that will extract results, one row at a time, must not be null.- Throws:
DataAccessException
- if there is any problem executing the query.- See Also:
-
query
<T> CompletableFuture<List<T>> query(com.datastax.oss.driver.api.core.cql.Statement<?> statement, RowMapper<T> rowMapper) throws DataAccessException Execute a query given static CQL, mapping each row to a Java object via aRowMapper
.Uses a CQL Statement, not a
PreparedStatement
. If you want to execute a static query with aPreparedStatement
, use the overloadedquery
method with null as argument array.- Parameters:
statement
- static CQLStatement
, must not be null.rowMapper
- object that will map one object per row, must not be null.- Returns:
- the result
List
, containing mapped objects. - Throws:
DataAccessException
- if there is any problem executing the query.- See Also:
-
queryForList
CompletableFuture<List<Map<String,Object>>> queryForList(com.datastax.oss.driver.api.core.cql.Statement<?> statement) throws DataAccessException Execute a query for a resultList
, given static CQL.Uses a CQL Statement, not a
PreparedStatement
. If you want to execute a static query with aPreparedStatement
, use the overloadedqueryForList
method with null as argument array.The results will be mapped to a
List
(one item for each row) ofMap
s (one entry for each column using the column name as the key). Each item in theList
will be of the form returned by this interface's queryForMap() methods.- Parameters:
statement
- static CQLStatement
to execute, must not be null or empty.- Returns:
- a
List
that contains aMap
per row. - Throws:
DataAccessException
- if there is any problem executing the query.- See Also:
-
queryForList
<T> CompletableFuture<List<T>> queryForList(com.datastax.oss.driver.api.core.cql.Statement<?> statement, Class<T> elementType) throws DataAccessException Execute a query for a resultList
, given static CQL.Uses a CQL Statement, not a
PreparedStatement
. If you want to execute a static query with aPreparedStatement
, use the overloadedqueryForList
method with null as argument array.The results will be mapped to a
List
(one item for each row) of result objects, each of them matching the specified element type.- Parameters:
statement
- static CQLStatement
, must not be null.elementType
- the required type of element in the resultList
(for example,Integer.class
), must not be null.- Returns:
- a
List
of objects that match the specified element type. - Throws:
DataAccessException
- if there is any problem executing the query.- See Also:
-
queryForMap
CompletableFuture<Map<String,Object>> queryForMap(com.datastax.oss.driver.api.core.cql.Statement<?> statement) throws DataAccessException Execute a query for a result Map, given static CQL.Uses a CQL Statement, not a
PreparedStatement
. If you want to execute a static query with aPreparedStatement
, use the overloadedqueryForMap(String, Object...)
method with null as argument array.The query is expected to be a single row query; the result row will be mapped to a Map (one entry for each column, using the column name as the key).
- Parameters:
statement
- static CQLStatement
, must not be null.- Returns:
- the result Map (one entry for each column, using the column name as the key), must not be null.
- Throws:
IncorrectResultSizeDataAccessException
- if the query does not return exactly one row.DataAccessException
- if there is any problem executing the query.- See Also:
-
queryForObject
<T> CompletableFuture<T> queryForObject(com.datastax.oss.driver.api.core.cql.Statement<?> statement, Class<T> requiredType) throws DataAccessException Execute a query for a result object, given static CQL.Uses a CQL Statement, not a
PreparedStatement
. If you want to execute a static query with aPreparedStatement
, use the overloadedqueryForObject(String, Class, Object...)
method with null as argument array.This method is useful for running static CQL with a known outcome. The query is expected to be a single row/single column query; the returned result will be directly mapped to the corresponding object type.
- Parameters:
statement
- static CQLStatement
, must not be null.requiredType
- the type that the result object is expected to match, must not be null.- Returns:
- the result object of the required type, or null in case of CQL NULL.
- Throws:
IncorrectResultSizeDataAccessException
- if the query does not return exactly one row, or does not return exactly one column in that row.DataAccessException
- if there is any problem executing the query.- See Also:
-
queryForObject
<T> CompletableFuture<T> queryForObject(com.datastax.oss.driver.api.core.cql.Statement<?> statement, RowMapper<T> rowMapper) throws DataAccessException Execute a query given static CQL, mapping a single result row to a Java object via aRowMapper
.Uses a CQL Statement, not a
PreparedStatement
. If you want to execute a static query with aPreparedStatement
, use the overloadedqueryForObject(String, RowMapper, Object...)
method with null as argument array.- Parameters:
statement
- static CQLStatement
, must not be null.rowMapper
- object that will map one object per row, must not be null.- Returns:
- the single mapped object.
- Throws:
IncorrectResultSizeDataAccessException
- if the query does not return exactly one row.DataAccessException
- if there is any problem executing the query.- See Also:
-
queryForResultSet
CompletableFuture<com.datastax.oss.driver.api.core.cql.AsyncResultSet> queryForResultSet(com.datastax.oss.driver.api.core.cql.Statement<?> statement) throws DataAccessException Execute a query for a ResultSet, given static CQL.Uses a CQL Statement, not a
PreparedStatement
. If you want to execute a static query with aPreparedStatement
, use the overloadedqueryForResultSet
method with null as argument array.The results will be mapped to an
ResultSet
.- Parameters:
statement
- static CQLStatement
, must not be null.- Returns:
- a
ResultSet
representation. - Throws:
DataAccessException
- if there is any problem executing the query.- See Also:
-
execute
CompletableFuture<Boolean> execute(AsyncPreparedStatementCreator preparedStatementCreator) throws DataAccessException Issue a single CQL execute operation (such as an insert, update or delete statement) using aAsyncPreparedStatementCreator
to provide CQL and any required parameters.- Parameters:
preparedStatementCreator
- object that provides CQL and any necessary parameters, must not be null.- Returns:
- boolean value whether the statement was applied.
- Throws:
DataAccessException
- if there is any problem executing the query.
-
execute
<T> CompletableFuture<T> execute(AsyncPreparedStatementCreator preparedStatementCreator, PreparedStatementCallback<T> action) throws DataAccessException Execute a CQL data access operation, implemented as callback action working on a CQLPreparedStatement
. This allows for implementing arbitrary data access operations on a singlePreparedStatement
, within Spring's managed CQL environment: that is, participating in Spring-managed transactions and converting CQLDriverException
s into Spring'sDataAccessException
hierarchy.The callback action can return a result object, for example a domain object or a collection of domain objects.
- Parameters:
preparedStatementCreator
- object that can create aPreparedStatement
given aCqlSession
, must not be null.action
- callback object that specifies the action, must not be null.- Returns:
- a result object returned by the action, or null.
- Throws:
DataAccessException
- if there is any problem executing the query.
-
query
<T> CompletableFuture<T> query(AsyncPreparedStatementCreator preparedStatementCreator, AsyncResultSetExtractor<T> resultSetExtractor) throws DataAccessException Query using a prepared statement, reading theResultSet
with aAsyncResultSetExtractor
.- Parameters:
preparedStatementCreator
- object that can create aPreparedStatement
given aCqlSession
, must not be null.resultSetExtractor
- object that will extract results, must not be null.- Returns:
- an arbitrary result object, as returned by the
AsyncResultSetExtractor
- Throws:
DataAccessException
- if there is any problem executing the query.
-
query
CompletableFuture<Void> query(AsyncPreparedStatementCreator preparedStatementCreator, RowCallbackHandler rowCallbackHandler) throws DataAccessException Query using a prepared statement, reading theResultSet
on a per-row basis with aRowCallbackHandler
.- Parameters:
preparedStatementCreator
- object that can create aPreparedStatement
given aCqlSession
, must not be null.rowCallbackHandler
- object that will extract results, one row at a time, must not be null.- Throws:
DataAccessException
- if there is any problem executing the query.
-
query
<T> CompletableFuture<List<T>> query(AsyncPreparedStatementCreator preparedStatementCreator, RowMapper<T> rowMapper) throws DataAccessException Query using a prepared statement, mapping each row to a Java object via aRowMapper
.- Parameters:
preparedStatementCreator
- object that can create aPreparedStatement
given aCqlSession
, must not be null.rowMapper
- object that will map one object per row, must not be null.- Returns:
- the result
List
, containing mapped objects. - Throws:
DataAccessException
- if there is any problem executing the query.
-
query
<T> CompletableFuture<T> query(AsyncPreparedStatementCreator preparedStatementCreator, @Nullable PreparedStatementBinder psb, AsyncResultSetExtractor<T> resultSetExtractor) throws DataAccessException Query using a prepared statement and aPreparedStatementBinder
implementation that knows how to bind values to the query, reading theResultSet
with aAsyncResultSetExtractor
.- Parameters:
preparedStatementCreator
- object that can create aPreparedStatement
given aCqlSession
, must not be null.psb
- object that knows how to set values on the prepared statement. If this is null, the CQL will be assumed to contain no bind parameters. Even if there are no bind parameters, this object may be used to set fetch size and other performance options.resultSetExtractor
- object that will extract results, must not be null.- Returns:
- an arbitrary result object, as returned by the
AsyncResultSetExtractor
. - Throws:
DataAccessException
- if there is any problem executing the query.
-
query
CompletableFuture<Void> query(AsyncPreparedStatementCreator preparedStatementCreator, @Nullable PreparedStatementBinder psb, RowCallbackHandler rowCallbackHandler) throws DataAccessException Query using a prepared statement and aPreparedStatementBinder
implementation that knows how to bind values to the query, reading theResultSet
on a per-row basis with aRowCallbackHandler
.- Parameters:
preparedStatementCreator
- object that can create aPreparedStatement
given aCqlSession
, must not be null.psb
- object that knows how to set values on the prepared statement. If this is null, the CQL will be assumed to contain no bind parameters. Even if there are no bind parameters, this object may be used to set fetch size and other performance options.rowCallbackHandler
- object that will extract results, one row at a time, must not be null.- Throws:
DataAccessException
- if there is any problem executing the query.
-
query
<T> CompletableFuture<List<T>> query(AsyncPreparedStatementCreator preparedStatementCreator, @Nullable PreparedStatementBinder psb, RowMapper<T> rowMapper) throws DataAccessException Query using a prepared statement and aPreparedStatementBinder
implementation that knows how to bind values to the query, mapping each row to a Java object via aRowMapper
.- Parameters:
preparedStatementCreator
- object that can create aPreparedStatement
given aCqlSession
, must not be null.psb
- object that knows how to set values on the prepared statement. If this is null, the CQL will be assumed to contain no bind parameters. Even if there are no bind parameters, this object may be used to set fetch size and other performance options.rowMapper
- object that will map one object per row, must not be null.- Returns:
- the result
List
, containing mapped objects. - Throws:
DataAccessException
- if there is any problem executing the query.
-