我刚刚开始探索 JSqlparser。根据我的理解,我已经修改了 TablesNamesFinder 以提取列和表,它的工作正常但一个很小的问题。
@Override
public void visit(Column col) {
Column c = col;
String cname = c.getFullyQualifiedName();
Table t = c.getTable();
System.out.println(t.getName());
}
这不会打印表格,在大多数情况下它会打印 null 并且在极少数情况下它会打印表格的别名但不打印表格。有什么我忘记了吗?
其余访问
@Override
public void visit(SelectExpressionItem exp){
exp.getExpression().accept(this);
}
@Override
public void visit(Table tableName) {
// System.out.println(tableName.getFullyQualifiedName());
}
@Override
public void visit(Select select) {
select.getSelectBody().accept(this);
}