当前位置: 首页>>代码示例>>Java>>正文


Java SQLPropertyExpr.getOwner方法代码示例

本文整理汇总了Java中com.alibaba.druid.sql.ast.expr.SQLPropertyExpr.getOwner方法的典型用法代码示例。如果您正苦于以下问题:Java SQLPropertyExpr.getOwner方法的具体用法?Java SQLPropertyExpr.getOwner怎么用?Java SQLPropertyExpr.getOwner使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在com.alibaba.druid.sql.ast.expr.SQLPropertyExpr的用法示例。


在下文中一共展示了SQLPropertyExpr.getOwner方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: visit

import com.alibaba.druid.sql.ast.expr.SQLPropertyExpr; //导入方法依赖的package包/类
/**
 * 将表名替换成占位符.
 * 
 * <p>
 * 1. 如果二元表达式使用别名, 如: {@code FROM order o WHERE o.column_name = 't' },
 * 则Column中的tableName为o.
 * </p>
 * 
 * <p>
 * 2. 如果二元表达式使用表名, 如: {@code FROM order WHERE order.column_name = 't' },
 * 则Column中的tableName为order.
 * </p>
 * 
 * @param x
 *            SQL属性表达式
 * @return true表示继续遍历AST, false表示终止遍历AST
 */
@Override
// TODO SELECT [别名.xxx]的情况,目前都是替换成token,解析之后应该替换回去
public final boolean visit(final SQLPropertyExpr x) {
	if (!(x.getParent() instanceof SQLBinaryOpExpr) && !(x.getParent() instanceof SQLSelectItem)) {
		return super.visit(x);
	}
	if (!(x.getOwner() instanceof SQLIdentifierExpr)) {
		return super.visit(x);
	}
	String tableOrAliasName = ((SQLIdentifierExpr) x.getOwner()).getLowerName();
	if (isBinaryOperateWithAlias(x, tableOrAliasName)) {
		return super.visit(x);
	}
	printToken(tableOrAliasName);
	print(".");
	print(x.getName());
	return false;
}
 
开发者ID:balancebeam,项目名称:sherlock,代码行数:36,代码来源:AbstractPGSQLVisitor.java

示例2: visit

import com.alibaba.druid.sql.ast.expr.SQLPropertyExpr; //导入方法依赖的package包/类
/**
 * 将表名替换成占位符.
 * 
 * <p>
 * 1. 如果二元表达式使用别名, 如: {@code FROM order o WHERE o.column_name = 't' },
 * 则Column中的tableName为o.
 * </p>
 * 
 * <p>
 * 2. 如果二元表达式使用表名, 如: {@code FROM order WHERE order.column_name = 't' },
 * 则Column中的tableName为order.
 * </p>
 * 
 * @param x
 *            SQL属性表达式
 * @return true表示继续遍历AST, false表示终止遍历AST
 */
@Override
public final boolean visit(final SQLPropertyExpr x) {
	if (!(x.getParent() instanceof SQLBinaryOpExpr) && !(x.getParent() instanceof SQLSelectItem)) {
		return super.visit(x);
	}
	if (!(x.getOwner() instanceof SQLIdentifierExpr)) {
		return super.visit(x);
	}
	String tableOrAliasName = ((SQLIdentifierExpr) x.getOwner()).getLowerName();
	if (isBinaryOperateWithAlias(x, tableOrAliasName)) {
		return super.visit(x);
	}
	printToken(tableOrAliasName);
	print(".");
	print(x.getName());
	return false;
}
 
开发者ID:balancebeam,项目名称:sherlock,代码行数:35,代码来源:AbstractOracleVisitor.java

示例3: reverseAppendTo

import com.alibaba.druid.sql.ast.expr.SQLPropertyExpr; //导入方法依赖的package包/类
private void reverseAppendTo(SQLSelectOrderByItem order, SQLServerOutputVisitor visitor, String tmpTableAlias, List<SQLSelectItem> items) {
	SQLExpr expression=order.getExpr();
	
	if(expression instanceof SQLPropertyExpr){
		SQLPropertyExpr c=(SQLPropertyExpr)expression;
		if(items!=null){
			fixWithSelects(c,items);
		}
		if(c.getOwner()!=null){
			c.setOwner(new SQLIdentifierExpr(tmpTableAlias));
		}
	}
	expression.accept(visitor);
	if(order.getType()==SQLOrderingSpecification.ASC || order.getType()==null){
		try {
			visitor.getAppender().append(" DESC");
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}
 
开发者ID:GeeQuery,项目名称:ef-orm,代码行数:22,代码来源:SQL2000LimitHandler.java

示例4: isMatch

import com.alibaba.druid.sql.ast.expr.SQLPropertyExpr; //导入方法依赖的package包/类
private boolean isMatch(SQLPropertyExpr exc, SQLPropertyExpr c) {
	if(StringUtils.equalsIgnoreCase(exc.getName(), c.getName())){
		if(c.getOwner()==exc.getOwner()){
			return true;
		}
		return StringUtils.equalsIgnoreCase(String.valueOf(c.getOwner()), String.valueOf(exc.getOwner()));
	}
	return false;
}
 
开发者ID:GeeQuery,项目名称:ef-orm,代码行数:10,代码来源:SQL2000LimitHandler.java

示例5: getColumnWithQualifiedName

import com.alibaba.druid.sql.ast.expr.SQLPropertyExpr; //导入方法依赖的package包/类
private Condition.Column getColumnWithQualifiedName(final SQLPropertyExpr expr) {
	Optional<Table> table = findTable(((SQLIdentifierExpr) expr.getOwner()).getName());
	return expr.getOwner() instanceof SQLIdentifierExpr && table.isPresent()
			? createColumn(expr.getName(), table.get().getName()) : null;
}
 
开发者ID:balancebeam,项目名称:sherlock,代码行数:6,代码来源:SQLParsedResult.java


注:本文中的com.alibaba.druid.sql.ast.expr.SQLPropertyExpr.getOwner方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。