public interface PreparedStatement
A prepared statement can be executed once concrete values have been provided for the bound
 variables. A prepared statement and the values for its bound variables constitute a
 BoundStatement and can be executed (by Session.execute(java.lang.String)).
 
A PreparedStatement object allows you to define specific defaults for the different
 properties of a Statement (Consistency level, tracing, ...), in which case those
 properties will be inherited as default by every BoundedStatement created from the
 {PreparedStatement}. The default for those PreparedStatement properties is the same that
 in Statement if the PreparedStatement is created by Session.prepare(String) but
 will inherit of the properties of the RegularStatement used for the preparation if Session.prepare(RegularStatement) is used.
| Modifier and Type | Method and Description | 
|---|---|
| BoundStatement | bind()Creates a new BoundStatement object for this prepared statement. | 
| BoundStatement | bind(Object... values)Creates a new BoundStatement object and bind its variables to the provided values. | 
| PreparedStatement | disableTracing()Convenience method to disable tracing for all bound statements created from this prepared
 statement. | 
| PreparedStatement | enableTracing()Convenience method to enables tracing for all bound statements created from this prepared
 statement. | 
| CodecRegistry | getCodecRegistry()Return the  CodecRegistryinstance associated with this prepared statement. | 
| ConsistencyLevel | getConsistencyLevel()Returns the default consistency level set through  setConsistencyLevel(com.datastax.driver.core.ConsistencyLevel). | 
| Map<String,ByteBuffer> | getIncomingPayload()Return the incoming payload, that is, the payload that the server sent back with its  PREPAREDresponse, if any, ornull, if the server did not include any custom payload. | 
| Map<String,ByteBuffer> | getOutgoingPayload()Return the outgoing payload currently associated with this statement. | 
| com.datastax.driver.core.Token.Factory | getPartitioner()The partitioner for this prepared statement. | 
| PreparedId | getPreparedId()Returns the prepared Id for this statement. | 
| String | getQueryKeyspace()Returns the keyspace at the time that this prepared statement was prepared, (that is the one on
 which this statement applies unless it specified a keyspace explicitly). | 
| String | getQueryString()Returns the string of the query that was prepared to yield this  PreparedStatement. | 
| RetryPolicy | getRetryPolicy()Returns the retry policy sets for this prepared statement, if any. | 
| ByteBuffer | getRoutingKey()Returns the routing key set for this query. | 
| ConsistencyLevel | getSerialConsistencyLevel()Returns the default serial consistency level set through  setSerialConsistencyLevel(com.datastax.driver.core.ConsistencyLevel). | 
| ColumnDefinitions | getVariables()Returns metadata on the bounded variables of this prepared statement. | 
| Boolean | isIdempotent()Whether this statement is idempotent, i.e. | 
| boolean | isLWT()Whether a prepared statement is LWT statement | 
| boolean | isTracing()Returns whether tracing is enabled for this prepared statement, i.e. | 
| PreparedStatement | setConsistencyLevel(ConsistencyLevel consistency)Sets a default consistency level for all bound statements created from this prepared statement. | 
| PreparedStatement | setIdempotent(Boolean idempotent)Sets whether this statement is idempotent. | 
| PreparedStatement | setOutgoingPayload(Map<String,ByteBuffer> payload)Associate the given payload with this prepared statement. | 
| PreparedStatement | setRetryPolicy(RetryPolicy policy)Convenience method to set a default retry policy for the  BoundStatementcreated from
 this prepared statement. | 
| PreparedStatement | setRoutingKey(ByteBuffer... routingKeyComponents)Sets the routing key for this query. | 
| PreparedStatement | setRoutingKey(ByteBuffer routingKey)Sets the routing key for this prepared statement. | 
| PreparedStatement | setSerialConsistencyLevel(ConsistencyLevel serialConsistency)Sets a default serial consistency level for all bound statements created from this prepared
 statement. | 
ColumnDefinitions getVariables()
BoundStatement bind(Object... values)
While the number of values cannot be greater than the number of bound variables, the
 number of values may be fewer than the number of bound variables. In that case, the
 remaining variables will have to be bound to values by another mean because the resulting
 BoundStatement being executable.
 
This method is a convenience for new BoundStatement(this).bind(...).
values - the values to bind to the variables of the newly created BoundStatement.BoundStatement with its variables bound to values.IllegalArgumentException - if more values are provided than there is of bound
     variables in this statement.InvalidTypeException - if any of the provided value is not of correct type to be bound to
     the corresponding bind variable.NullPointerException - if one of values is a collection (List, Set or Map)
     containing a null value. Nulls are not supported in collections by CQL.BoundStatement.bind(java.lang.Object...)BoundStatement bind()
This method do not bind any values to any of the prepared variables. Said values need to be
 bound on the resulting statement using BoundStatement's setters methods (BoundStatement.setInt(int, int), BoundStatement.setLong(int, long), ...).
BoundStatement.PreparedStatement setRoutingKey(ByteBuffer routingKey)
While you can provide a fixed routing key for all executions of this prepared statement with this method, it is not mandatory to provide one through this method. This method should only be used if the partition key of the prepared query is not part of the prepared variables (that is if the partition key is fixed).
Note that if the partition key is part of the prepared variables, the routing key will be automatically computed once those variables are bound.
If the partition key is neither fixed nor part of the prepared variables (e.g. a composite partition key where only some of the components are bound), the routing key can also be set on each bound statement.
routingKey - the raw (binary) value to use as routing key.PreparedStatement object.Statement.getRoutingKey(com.datastax.driver.core.ProtocolVersion, com.datastax.driver.core.CodecRegistry), 
BoundStatement.getRoutingKey(com.datastax.driver.core.ProtocolVersion, com.datastax.driver.core.CodecRegistry)PreparedStatement setRoutingKey(ByteBuffer... routingKeyComponents)
See setRoutingKey(ByteBuffer) for more information. This method is a variant for
 when the query partition key is composite and the routing key must be built from multiple
 values.
routingKeyComponents - the raw (binary) values to compose to obtain the routing key.PreparedStatement object.Statement.getRoutingKey(com.datastax.driver.core.ProtocolVersion, com.datastax.driver.core.CodecRegistry)ByteBuffer getRoutingKey()
null if none has been explicitly set on this
     PreparedStatement.PreparedStatement setConsistencyLevel(ConsistencyLevel consistency)
If no consistency level is set through this method, the bound statement created from this object will use the default consistency level (LOCAL_ONE).
Changing the default consistency level is not retroactive, it only applies to BoundStatement created after the change.
consistency - the default consistency level to set.PreparedStatement object.ConsistencyLevel getConsistencyLevel()
setConsistencyLevel(com.datastax.driver.core.ConsistencyLevel).null if no consistency level has been
     set through this object setConsistencyLevel method.PreparedStatement setSerialConsistencyLevel(ConsistencyLevel serialConsistency)
If no serial consistency level is set through this method, the bound statement created from this object will use the default serial consistency level (SERIAL).
Changing the default serial consistency level is not retroactive, it only applies to BoundStatement created after the change.
serialConsistency - the default serial consistency level to set.PreparedStatement object.IllegalArgumentException - if serialConsistency is not one of ConsistencyLevel.SERIAL or ConsistencyLevel.LOCAL_SERIAL.ConsistencyLevel getSerialConsistencyLevel()
setSerialConsistencyLevel(com.datastax.driver.core.ConsistencyLevel).null if no consistency level has
     been set through this object setSerialConsistencyLevel method.String getQueryString()
PreparedStatement.
 Note that a CQL3 query may be implicitly applied to the current keyspace (that is, if the
 keyspace is not explicitly qualified in the query itself). For prepared queries, the current
 keyspace used is the one at the time of the preparation, not the one at execution time. The
 current keyspace at the time of the preparation can be retrieved through getQueryKeyspace().
PreparedStatement.String getQueryKeyspace()
null if no
     keyspace was set when the query was prepared (which is possible since keyspaces can be
     explicitly qualified in queries and so may not require a current keyspace to be set).PreparedStatement enableTracing()
Query object.PreparedStatement disableTracing()
PreparedStatement object.boolean isTracing()
true if this prepared statement has tracing enabled, false otherwise.PreparedStatement setRetryPolicy(RetryPolicy policy)
BoundStatement created from
 this prepared statement.
 Note that this method is completely optional. By default, the retry policy used is the one
 returned Policies.getRetryPolicy() in the cluster
 configuration. This method is only useful if you want to override this default policy for the
 BoundStatement created from this PreparedStatement. to punctually override the
 default policy for this request.
policy - the retry policy to use for this prepared statement.PreparedStatement object.RetryPolicy getRetryPolicy()
null if none
     have been set.com.datastax.driver.core.Token.Factory getPartitioner()
null if no partitioner has been specified.
     In the latter case, the cluster-wide partitioner will be used.PreparedId getPreparedId()
Map<String,ByteBuffer> getIncomingPayload()
PREPARED response, if any, or null, if the server did not include any custom payload.
 Note that if an incoming payload is present, and if no outgoing payload has been explicitly set, then each time a BoundStatement is created
 (with either bind() or bind(Object...)), the resulting BoundStatement
 will inherit from this value as its default outgoing payload.
 
Implementors should return a read-only view of the original map, but even though, its values would remain inherently mutable. Callers should take care not to modify the returned map in any way.
This feature is only available with ProtocolVersion.V4 or above; with lower
 versions, this method will always return null.
null, if the server did not include any custom payload.Map<String,ByteBuffer> getOutgoingPayload()
If this is set to a non-null value, each time a BoundStatement is created (with
 either bind() or bind(Object...)), the resulting BoundStatement will
 inherit from this value as its default outgoing payload.
 
Implementors should return a read-only view of the original map, but even though, its values would remain inherently mutable. Callers should take care not to modify the returned map in any way.
This feature is only available with ProtocolVersion.V4 or above.
null if no outgoing payload is
     setPreparedStatement setOutgoingPayload(Map<String,ByteBuffer> payload)
If this is set to a non-null value, each time a BoundStatement is created (with
 either bind() or bind(Object...)), the resulting BoundStatement will
 inherit from this value as its default outgoing payload.
 
Implementors should make a defensive, thread-safe copy of the given map, but even though, its values would remain inherently mutable. Callers should take care not to modify the original map once it is passed to this method.
This feature is only available with ProtocolVersion.V4 or above. Trying to include
 custom payloads in requests sent by the driver under lower protocol versions will result in an
 UnsupportedFeatureException (wrapped in a NoHostAvailableException).
payload - the outgoing payload to associate with this statement, or null to clear
     any previously associated payload.Statement object.CodecRegistry getCodecRegistry()
CodecRegistry instance associated with this prepared statement.
 Implementations should never return null; instead, they should always return the CodecRegistry instance registered with the Cluster instance this prepared statement
 belongs to.CodecRegistry instance associated with this prepared statement.PreparedStatement setIdempotent(Boolean idempotent)
See Statement.isIdempotent() for more explanations about this
 property.
idempotent - the new value.IdempotenceAwarePreparedStatement object.Boolean isIdempotent()
See Statement.isIdempotent() for more explanations about this
 property.
 
Please note that idempotence will be propagated to all BoundStatements created from
 this prepared statement.
null to use QueryOptions.getDefaultIdempotence().boolean isLWT()
Copyright © 2012–2025. All rights reserved.