1、介绍
本篇主要介绍Druid采用访问者模式解析SQL,访问者模式,是行为型设计模式之一。访问者模式是一种将数据操作与数据结构分离的设计模式,它可以算是 23 中设计模式中最复杂的一个,但它的使用频率并不是很高,这里关于访问者模式不做过多解释,有兴趣的童靴可以去网上查阅。
2、visitor模式
访问者模式中,接口中定义对象元素方法,每一个元素对应一个方法,供访问者访问,Druid visitor顶层结构,选取部分接口中方法
import com.alibaba.druid.sql.ast.SQLArgument;
import com.alibaba.druid.sql.ast.SQLArrayDataType;
import com.alibaba.druid.sql.ast.SQLCommentHint;
import com.alibaba.druid.sql.ast.SQLDataType;
import com.alibaba.druid.sql.ast.SQLDeclareItem;
import com.alibaba.druid.sql.ast.SQLKeep;
import com.alibaba.druid.sql.ast.SQLLimit;
public interface SQLASTVisitor {
void endVisit(SQLAllColumnExpr x);
void endVisit(SQ