Skip to content

Instantly share code, notes, and snippets.

@ingenthr
Created September 28, 2016 22:13
Show Gist options
  • Save ingenthr/8b4519720cbb8af05b748298e4363dd0 to your computer and use it in GitHub Desktop.
Save ingenthr/8b4519720cbb8af05b748298e4363dd0 to your computer and use it in GitHub Desktop.
N1QL Query two ways
package com.couchbase.client.example;
import com.couchbase.client.java.Bucket;
import com.couchbase.client.java.Cluster;
import com.couchbase.client.java.CouchbaseCluster;
import com.couchbase.client.java.document.json.JsonObject;
import com.couchbase.client.java.query.*;
import static com.couchbase.client.java.query.Select.select;
import static com.couchbase.client.java.query.dsl.Expression.*;
import static com.couchbase.client.java.query.Select.select;
public class Main {
public static void main (String args[]) {
Cluster cluster = CouchbaseCluster.create();
Bucket bucket = cluster.openBucket("travel-sample");
// query with a simple string
System.out.println("Simple string query:");
N1qlQuery airlineQuery = N1qlQuery.simple("SELECT `travel-sample`.* FROM `travel-sample` WHERE name=\"United Airlines\" AND type=\"airline\"");
N1qlQueryResult queryResult = bucket.query(airlineQuery);
for (N1qlQueryRow result: queryResult) {
System.out.println(result.value());
}
//query with a parameter using the DSL
System.out.println("Parameterized query using the DSL:");
Statement statement = select(path(i("travel-sample"), "*")).from(i("travel-sample")).where(x("name").eq(x("$airline_param")).and(x("type").eq(s("airline"))));
JsonObject placeholderValues = JsonObject.create().put("airline_param", "United Airlines");
N1qlQuery airlineQueryParameterized = N1qlQuery.parameterized(statement, placeholderValues);
N1qlQueryResult queryResultParameterized = bucket.query(airlineQueryParameterized);
for (N1qlQueryRow row : queryResultParameterized) {
System.out.println(row);
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment