实操讲解: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)?
}