Class Statement (6.71.0)

public final class Statement implements 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 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.

Inheritance

Object > Statement

Implements

Serializable

Static Methods

newBuilder(String sql)

public static Statement.Builder newBuilder(String sql)

Creates a new statement builder with the SQL text sql.

Parameter
Name Description
sql String
Returns
Type Description
Statement.Builder

of(String sql)

public static Statement of(String sql)

Creates a Statement with the given SQL text sql.

Parameter
Name Description
sql String
Returns
Type Description
Statement

Methods

analyzeQuery(ReadContext context, ReadContext.QueryAnalyzeMode queryMode)

public ResultSet analyzeQuery(ReadContext context, ReadContext.QueryAnalyzeMode queryMode)

Analyzes the query in context. statement.analyzeQuery(context, queryMode) is exactly equivalent to context.analyzeQuery(statement, queryMode). See Also: ReadContext#analyzeQuery(Statement, com.google.cloud.spanner.ReadContext.QueryAnalyzeMode)

Parameters
Name Description
context ReadContext
queryMode ReadContext.QueryAnalyzeMode
Returns
Type Description
ResultSet

equals(Object o)

public boolean equals(Object o)
Parameter
Name Description
o Object
Returns
Type Description
boolean
Overrides

executeQuery(ReadContext context, Options.QueryOption[] options)

public ResultSet executeQuery(ReadContext context, Options.QueryOption[] options)

Executes the query in context. statement.executeQuery(context) is exactly equivalent to context.executeQuery(statement). See Also: ReadContext#executeQuery(Statement, Options.QueryOption...)

Parameters
Name Description
context ReadContext
options QueryOption[]
Returns
Type Description
ResultSet

getParameters()

public Map<String,Value> getParameters()

Returns the parameters bound to this Statement.

Returns
Type Description
Map<String,Value>

getQueryOptions()

public ExecuteSqlRequest.QueryOptions getQueryOptions()

Returns the QueryOptions that will be used with this Statement.

Returns
Type Description
ExecuteSqlRequest.QueryOptions

getSql()

public String getSql()

Returns the current SQL statement text.

Returns
Type Description
String

hasBinding(String parameter)

public boolean hasBinding(String parameter)

Returns true if a binding exists for parameter.

Parameter
Name Description
parameter String
Returns
Type Description
boolean

hashCode()

public int hashCode()
Returns
Type Description
int
Overrides

toBuilder()

public Statement.Builder toBuilder()
Returns
Type Description
Statement.Builder

toString()

public String toString()
Returns
Type Description
String
Overrides

withReplacedSql(String sql)

public Statement withReplacedSql(String sql)

Returns a copy of this statement with the SQL string replaced by the given SQL string.

Parameter
Name Description
sql String
Returns
Type Description
Statement