From b8e7409e733830b0cd63842ca9c0bf386b90b73b Mon Sep 17 00:00:00 2001 From: wenshao Date: Wed, 11 May 2011 09:15:46 +0000 Subject: [PATCH] git-svn-id: http://code.alibabatech.com/svn/druid/trunk@15 b9813039-fb51-4c41-a8b9-e21c2acb5095 --- .../alibaba/druid/sql/mysql/demo/Demo0.java | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 src/test/java/com/alibaba/druid/sql/mysql/demo/Demo0.java 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()); + } +}