Maven

  1. <dependency>
  2. <groupId>com.github.jsqlparser</groupId>
  3. <artifactId>jsqlparser</artifactId>
  4. <version>3.2</version>
  5. </dependency>

表达式验证

SQL分析

功能:分析出

  1. Select stmt = (Select) CCJSqlParserUtil.parse("SELECT col1 AS a, col2 AS b, col3 AS c FROM table WHERE col1 = 10 AND col2 = 20 AND col3 = 30");
  2. Map<String, Expression> map = new HashMap<>();
  3. for (SelectItem selectItem : ((PlainSelect)stmt.getSelectBody()).getSelectItems()) {
  4. selectItem.accept(new SelectItemVisitorAdapter() {
  5. @Override
  6. public void visit(SelectExpressionItem item) {
  7. map.put(item.getAlias().getName(), item.getExpression());
  8. }
  9. });
  10. }
  11. System.out.println("map " + map);