Package com.google.cloud.spanner
Class Statement
java.lang.Object
com.google.cloud.spanner.Statement
- All Implemented Interfaces:
Serializable
A SQL statement and optional bound parameters that can be executed in a
ReadContext.
The SQL query string can contain parameter placeholders. A parameter placeholder consists of @ followed by the parameter name. Parameter names consist of any combination of letters, numbers, and underscores.
Parameters can appear anywhere that a literal value is expected. The same parameter name can
be used more than once, for example: WHERE id > @msg_id AND id < @msg_id + 100
It is an error to execute an SQL query with placeholders for unbound parameters.
Statements are constructed using a builder. Parameter values are specified by calling Statement.Builder.bind(String). For example, code to build a query using the clause above and bind a value
to id might look like the following:
Statement statement = Statement
.newBuilder("SELECT name WHERE id > @msg_id AND id < @msg_id + 100")
.bind("msg_id").to(500)
.build();
Statement instances are immutable.
- See Also:
-
Nested Class Summary
Nested Classes -
Method Summary
Modifier and TypeMethodDescriptionanalyzeQuery(ReadContext context, ReadContext.QueryAnalyzeMode queryMode) Analyzes the query incontext.booleanexecuteQuery(ReadContext context, Options.QueryOption... options) Executes the query incontext.Returns the parameters bound to thisStatement.Returns theExecuteSqlRequest.QueryOptionsthat will be used with thisStatement.getSql()Returns the current SQL statement text.booleanhasBinding(String parameter) Returnstrueif a binding exists forparameter.inthashCode()static Statement.BuildernewBuilder(String sql) Creates a new statement builder with the SQL textsql.static StatementCreates aStatementwith the given SQL textsql.toString()withReplacedSql(String sql) Returns a copy of this statement with the SQL string replaced by the given SQL string.
-
Method Details
-
of
Creates aStatementwith the given SQL textsql. -
newBuilder
Creates a new statement builder with the SQL textsql. -
hasBinding
Returnstrueif a binding exists forparameter. -
executeQuery
Executes the query incontext.statement.executeQuery(context)is exactly equivalent tocontext.executeQuery(statement). -
analyzeQuery
Analyzes the query incontext.statement.analyzeQuery(context, queryMode)is exactly equivalent tocontext.analyzeQuery(statement, queryMode). -
getSql
Returns the current SQL statement text. -
withReplacedSql
Returns a copy of this statement with the SQL string replaced by the given SQL string. -
getQueryOptions
Returns theExecuteSqlRequest.QueryOptionsthat will be used with thisStatement. -
getParameters
Returns the parameters bound to thisStatement. -
toBuilder
-
toString
-
equals
-
hashCode
public int hashCode()
-