从Couchbase N1qlQuery DSL获取字符串sql?

tgkprog

在像在此堆栈溢出答案中生成查询对象或在ouchbase Java n1ql查询文档创建示例之后,我们可以在将字符串查询发送到服务器之前获取字符串查询?我不想将其发送到服务器。只是想用DSL构建它,然后获取具有适当参数的完整查询的字符串,将流向服务器的内容并以另一种方式处理它。

德诺

Statement只需调用即可将A转换为String toString()

import com.couchbase.client.java.document.json.JsonObject;
import com.couchbase.client.java.query.N1qlQuery;
import com.couchbase.client.java.query.Statement;

import static com.couchbase.client.java.query.Select.select;
import static com.couchbase.client.java.query.dsl.Expression.i;
import static com.couchbase.client.java.query.dsl.Expression.path;
import static com.couchbase.client.java.query.dsl.Expression.s;
import static com.couchbase.client.java.query.dsl.Expression.x;

Statement statement = select(path(i("travel-sample"), "*"))
    .from(i("travel-sample"))
    .where(x("name").eq(x("$airline_param"))
        .and(x("type").eq(s("airline"))));

System.out.println(statement);

输出:

SELECT `travel-sample`.* FROM `travel-sample` WHERE name = $airline_param AND type = "airline"

如您所见,这不会进行任何参数替换。参数与语句分开发送到服务器。如果要查看发送到服务器的内容,可以致电N1qlQuery.n1ql()

JsonObject args = JsonObject.create().put("$airline_param", "FooFliers");
N1qlQuery q = N1qlQuery.parameterized(statement, args);

JsonObject statementAndArgs = q.n1ql(); 
System.out.println(statementAndArgs);

输出(预定):

{
  "statement": "SELECT `travel-sample`.* FROM `travel-sample` WHERE name = $airline_param AND type = \"airline\"",
  "$airline_param": "FooFliers"
}

如果您需要内联参数,那么您需要自己做这部分,要格外小心,以正确地转义字符串参数。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Couchbase N1qlQuery:使用select中的键值

来自分类Dev

使用N1QL在Couchbase中获取最新修订

来自分类Dev

从(“ \ n”)换行符获取字符串

来自分类Dev

从 rails pluck 中获取字符串以显示 n

来自分类Dev

Couchbase:如何从字符串创建JsonObject

来自分类Dev

如何使用带有spring-data-couchbase的n1ql从文档中获取字段

来自分类Dev

N1ql Couchbase:如何使用 N1qlQueryResult 获取孩子?

来自分类Dev

在ksh中获取字符串的最后n个字符

来自分类Dev

在Python中获取字符串的前n个字符的最佳方法

来自分类Dev

Razor-如何获取字符串的n个数字字符?

来自分类Dev

如何获取字符串的前n个字符,但以整个单词结尾

来自分类Dev

使用N1QL从Couchbase中的json获取嵌套对象

来自分类Dev

eval()替代方法,用于获取字符串的输出,例如“(0 AND 1 OR 1)”

来自分类Dev

PHP获取字符串“ true”或“ false”并将其转换为1或0

来自分类Dev

如何获取字符串中的最后n个字母

来自分类Dev

php-在第n个破折号(-)之前获取字符串

来自分类Dev

如何在Java中的第n个“-”(破折号)之后获取字符串?

来自分类Dev

获取字符串中字母的第n次出现(python)

来自分类Dev

如何获取字符串中的n个最后一个字母

来自分类Dev

在Apache Spark中使用Python在第n个位置获取字符串

来自分类Dev

在n个空格后获取字符串的一部分

来自分类Dev

C 获取字符串中的第 n 个单词

来自分类Dev

获取字符串中第 n 个出现的索引

来自分类Dev

如何在Couchbase数组中搜索特定字符串

来自分类Dev

Couchbase N1QL连接查询

来自分类Dev

CouchBase视图获取多个范围

来自分类Dev

couchbase php 删除和获取

来自分类Dev

Couchbase Sync Gateway如何获取Couchbase服务器更改?

来自分类Dev

在获取字符串时,如何将字符串复制到另一个用'\ n'字符分隔的数组中?

Related 相关文章

  1. 1

    Couchbase N1qlQuery:使用select中的键值

  2. 2

    使用N1QL在Couchbase中获取最新修订

  3. 3

    从(“ \ n”)换行符获取字符串

  4. 4

    从 rails pluck 中获取字符串以显示 n

  5. 5

    Couchbase:如何从字符串创建JsonObject

  6. 6

    如何使用带有spring-data-couchbase的n1ql从文档中获取字段

  7. 7

    N1ql Couchbase:如何使用 N1qlQueryResult 获取孩子?

  8. 8

    在ksh中获取字符串的最后n个字符

  9. 9

    在Python中获取字符串的前n个字符的最佳方法

  10. 10

    Razor-如何获取字符串的n个数字字符?

  11. 11

    如何获取字符串的前n个字符,但以整个单词结尾

  12. 12

    使用N1QL从Couchbase中的json获取嵌套对象

  13. 13

    eval()替代方法,用于获取字符串的输出,例如“(0 AND 1 OR 1)”

  14. 14

    PHP获取字符串“ true”或“ false”并将其转换为1或0

  15. 15

    如何获取字符串中的最后n个字母

  16. 16

    php-在第n个破折号(-)之前获取字符串

  17. 17

    如何在Java中的第n个“-”(破折号)之后获取字符串?

  18. 18

    获取字符串中字母的第n次出现(python)

  19. 19

    如何获取字符串中的n个最后一个字母

  20. 20

    在Apache Spark中使用Python在第n个位置获取字符串

  21. 21

    在n个空格后获取字符串的一部分

  22. 22

    C 获取字符串中的第 n 个单词

  23. 23

    获取字符串中第 n 个出现的索引

  24. 24

    如何在Couchbase数组中搜索特定字符串

  25. 25

    Couchbase N1QL连接查询

  26. 26

    CouchBase视图获取多个范围

  27. 27

    couchbase php 删除和获取

  28. 28

    Couchbase Sync Gateway如何获取Couchbase服务器更改?

  29. 29

    在获取字符串时,如何将字符串复制到另一个用'\ n'字符分隔的数组中?

热门标签

归档