diff --git a/src/test/java/com/alibaba/druid/sql/mysql/demo/Demo0.java b/src/test/java/com/alibaba/druid/sql/mysql/demo/Demo0.java new file mode 100644 index 0000000000..5a71dd653e --- /dev/null +++ b/src/test/java/com/alibaba/druid/sql/mysql/demo/Demo0.java @@ -0,0 +1,32 @@ +package com.alibaba.druid.sql.mysql.demo; + +import java.util.List; + +import junit.framework.TestCase; + +import com.alibaba.druid.sql.ast.SQLStatement; +import com.alibaba.druid.sql.dialect.mysql.parser.MySqlStatementParser; +import com.alibaba.druid.sql.dialect.mysql.visitor.MySqlOutputVisitor; +import com.alibaba.druid.sql.parser.SQLStatementParser; + +public class Demo0 extends TestCase { + + public void test_demo_0() throws Exception { + String sql = "SELECT UUID();"; + + // parser得到AST + SQLStatementParser parser = new MySqlStatementParser(sql); + List stmtList = parser.parseStatementList(); // + + // 将AST通过visitor输出 + StringBuilder out = new StringBuilder(); + MySqlOutputVisitor visitor = new MySqlOutputVisitor(out); + + for (SQLStatement stmt : stmtList) { + stmt.accept(visitor); + out.append(";"); + } + + System.out.println(out.toString()); + } +}