簡體   English   中英

從Rest Get調用解析where子句查詢

[英]Parse where clause query from Rest Get call

我從Rest API Get接收到where子句,並且應該轉換屬性,因此我需要將此字符串轉換為具有邏輯和....的java對象,例如:

String where = "prop = 1 and prop2 = 'ssdf' or date > 20121204";

是否有任何Java庫可以將where子句轉換為具有單獨條件和運算符的java對象?

終於我找到了這個庫: https : //github.com/JSQLParser/JSqlParser

看起來非常適合查詢解析

使用JSqlParser可以使用一種已經實現的實用程序方法來解析條件,例如在where子句中:

String where = "prop = 1 and prop2 = 'ssdf' or date > 20121204";
Expression expr = CCJSqlParserUtil.parseCondExpression(where);
System.out.println(expr);

這適用於JSqlParser V0.9.xhttps://github.com/JSQLParser/JSqlParser

然后,您將獲得一個對象樹,其中包含分開的運算符ands,ors值。 您可以使用ExpressionVisitorAdapter遍歷這一行,例如

ExpressionVisitorAdapter visitor = new ExpressionVisitorAdapter() {
    @Override
    public void visit(Column column) {
        System.out.println(column);
    }
};

expr.accept(visitor);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM