欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

实操讲解:Java LikeExpression类的运用实例 - 第1篇:visit方法探索

最编程 2024-02-10 17:50:51
...
import com.alibaba.cobar.parser.ast.expression.string.LikeExpression; //导入依赖的package包/类
@Override
public void visit(LikeExpression node) {
    MySqlExprVisitor first = new MySqlExprVisitor(parent);
    node.getFirst().accept(first);

    MySqlExprVisitor second = new MySqlExprVisitor(parent);
    node.getSecond().accept(second);
    Object value = null;
    if (second.getValueForLike() != null) {
        value = second.getValueForLike();
    } else {
        value = second.getColumnOrValue();
    }

    this.filter = this.buildBooleanFilter(first.getColumnOrValue(), value, OPERATION.LIKE, node);
    if (node.isNot()) {
        this.filter.setIsNot(true);
    }

    // TODO: 支持下like下的ESCAPE参数
    // just like: higherPreExpr 'NOT'? 'LIKE' higherPreExpr ('ESCAPE'
    // higherPreExpr)?
}