public final class Statement extends Object implements Serializable
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.
Modifier and Type | Class and Description |
---|---|
static class |
Statement.Builder
Builder for
Statement . |
Modifier and Type | Method and Description |
---|---|
ResultSet |
analyzeQuery(ReadContext context,
ReadContext.QueryAnalyzeMode queryMode)
Analyzes the query in
context . |
boolean |
equals(Object o) |
ResultSet |
executeQuery(ReadContext context,
Options.QueryOption... options)
Executes the query in
context . |
Map<String,Value> |
getParameters()
Returns the parameters bound to this
Statement . |
String |
getSql()
Returns the current SQL statement text.
|
boolean |
hasBinding(String parameter)
Returns
true if a binding exists for parameter . |
int |
hashCode() |
static Statement.Builder |
newBuilder(String sql)
Creates a new statement builder with the SQL text
sql . |
static Statement |
of(String sql)
Creates a
Statement with the given SQL text sql . |
String |
toString() |
public static Statement.Builder newBuilder(String sql)
sql
.public boolean hasBinding(String parameter)
true
if a binding exists for parameter
.public ResultSet executeQuery(ReadContext context, Options.QueryOption... options)
context
. statement.executeQuery(context)
is exactly
equivalent to context.executeQuery(statement)
.public ResultSet analyzeQuery(ReadContext context, ReadContext.QueryAnalyzeMode queryMode)
context
. statement.analyzeQuery(context, queryMode)
is
exactly equivalent to context.analyzeQuery(statement, queryMode)
.public String getSql()
public Map<String,Value> getParameters()
Statement
.Copyright © 2019 Google LLC. All rights reserved.