Skip to content

Commit 3400342

Browse files
authored
Add queryWithParameter to Cloud Spanner sample. (#1417)
1 parent 9e9120a commit 3400342

File tree

2 files changed

+30
-1
lines changed

2 files changed

+30
-1
lines changed

spanner/cloud-client/src/main/java/com/example/spanner/SpannerSample.java

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1013,6 +1013,29 @@ public Void run(TransactionContext transaction) throws Exception {
10131013
}
10141014
// [END spanner_dml_getting_started_insert]
10151015

1016+
// [START spanner_query_with_parameter]
1017+
static void queryWithParameter(DatabaseClient dbClient) {
1018+
Statement statement =
1019+
Statement
1020+
.newBuilder(
1021+
"SELECT SingerId, FirstName, LastName\n"
1022+
+ "FROM Singers\n"
1023+
+ "WHERE LastName = @lastName")
1024+
.bind("lastName")
1025+
.to("Garcia")
1026+
.build();
1027+
1028+
ResultSet resultSet = dbClient.singleUse().executeQuery(statement);
1029+
while (resultSet.next()) {
1030+
System.out.printf(
1031+
"%d %s %s\n",
1032+
resultSet.getLong("SingerId"),
1033+
resultSet.getString("FirstName"),
1034+
resultSet.getString("LastName"));
1035+
}
1036+
}
1037+
// [END spanner_query_with_parameter]
1038+
10161039
// [START spanner_dml_getting_started_update]
10171040
static void writeWithTransactionUsingDml(DatabaseClient dbClient) {
10181041
dbClient
@@ -1229,6 +1252,9 @@ static void run(
12291252
case "writeusingdml":
12301253
writeUsingDml(dbClient);
12311254
break;
1255+
case "querywithparameter":
1256+
queryWithParameter(dbClient);
1257+
break;
12321258
case "writewithtransactionusingdml":
12331259
writeWithTransactionUsingDml(dbClient);
12341260
break;
@@ -1286,6 +1312,7 @@ static void printUsageAndExit() {
12861312
System.err.println(" SpannerExample writeandreadusingdml my-instance example-db");
12871313
System.err.println(" SpannerExample updateusingdmlwithstruct my-instance example-db");
12881314
System.err.println(" SpannerExample writeusingdml my-instance example-db");
1315+
System.err.println(" SpannerExample queryWithParameter my-instance example-db");
12891316
System.err.println(" SpannerExample writewithtransactionusingdml my-instance example-db");
12901317
System.err.println(" SpannerExample updateusingpartitioneddml my-instance example-db");
12911318
System.err.println(" SpannerExample deleteusingpartitioneddml my-instance example-db");

spanner/cloud-client/src/test/java/com/example/spanner/SpannerSampleIT.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,7 @@ public void testSample() throws Exception {
144144
assertThat(out).startsWith("6\n");
145145

146146
out = runSample("querywitharrayofstruct");
147-
assertThat(out).startsWith("6\n7");
147+
assertThat(out).startsWith("8\n7\n6");
148148

149149
out = runSample("querystructfield");
150150
assertThat(out).startsWith("6\n");
@@ -181,6 +181,8 @@ public void testSample() throws Exception {
181181
assertThat(out).contains("Russell Morales");
182182
assertThat(out).contains("Jacqueline Long");
183183
assertThat(out).contains("Dylan Shaw");
184+
out = runSample("querywithparameter");
185+
assertThat(out).contains("12 Melissa Garcia");
184186

185187
runSample("writewithtransactionusingdml");
186188
out = runSample("querymarketingbudget");

0 commit comments

Comments
 (0)