JsqlParserUtil.java 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. package com.kingdee.customer.demo;
  2. import net.sf.jsqlparser.parser.CCJSqlParserUtil;
  3. import net.sf.jsqlparser.statement.select.Select;
  4. import net.sf.jsqlparser.statement.select.PlainSelect;
  5. import net.sf.jsqlparser.statement.select.SelectItem;
  6. import net.sf.jsqlparser.statement.select.SelectExpressionItem;
  7. import net.sf.jsqlparser.expression.Alias;
  8. import net.sf.jsqlparser.expression.Expression;
  9. import net.sf.jsqlparser.expression.LongValue;
  10. import net.sf.jsqlparser.expression.StringValue;
  11. import net.sf.jsqlparser.expression.DateValue;
  12. import net.sf.jsqlparser.expression.DoubleValue;
  13. import net.sf.jsqlparser.expression.CaseExpression;
  14. import net.sf.jsqlparser.schema.Column;
  15. import net.sf.jsqlparser.schema.Table;
  16. import java.util.List;
  17. import java.util.ArrayList;
  18. /**
  19. * @Description TODO
  20. * @Date 2025/9/15 11:35
  21. * @Created by 59279
  22. */
  23. public class JsqlParserUtil {
  24. public static void main(String[] args) throws Exception {
  25. String sql = "SELECT t1.*, t2.* FROM table1 t1 JOIN table2 t2 ON t1.id = t2.id WHERE t1.name = 'test'";
  26. Select select = (Select) CCJSqlParserUtil.parse(sql);
  27. PlainSelect plainSelect = (PlainSelect) select.getSelectBody();
  28. List<SelectItem> selectItems = plainSelect.getSelectItems();
  29. for (SelectItem selectItem : selectItems) {
  30. if (selectItem instanceof SelectExpressionItem) {
  31. SelectExpressionItem selectExpressionItem = (SelectExpressionItem) selectItem;
  32. Expression expression = selectExpressionItem.getExpression();
  33. Alias alias = selectExpressionItem.getAlias();
  34. if (expression instanceof Column) {
  35. Column column = (Column) expression;
  36. Table table = column.getTable();
  37. System.out.println("Table: " + table.getName() + ", Column: " + column.getColumnName());
  38. }
  39. if (alias != null) {
  40. System.out.println("Alias: " + alias.getName());
  41. }
  42. }
  43. }
  44. }
  45. }