本文整理汇总了Java中com.alibaba.druid.sql.ast.statement.SQLSelectOrderByItem.getType方法的典型用法代码示例。如果您正苦于以下问题:Java SQLSelectOrderByItem.getType方法的具体用法?Java SQLSelectOrderByItem.getType怎么用?Java SQLSelectOrderByItem.getType使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类com.alibaba.druid.sql.ast.statement.SQLSelectOrderByItem
的用法示例。
在下文中一共展示了SQLSelectOrderByItem.getType方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: reverseAppendTo
import com.alibaba.druid.sql.ast.statement.SQLSelectOrderByItem; //导入方法依赖的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();
}
}
}
示例2: endVisit
import com.alibaba.druid.sql.ast.statement.SQLSelectOrderByItem; //导入方法依赖的package包/类
@Override
public void endVisit(SQLAggregateExpr x) {
List<Item> args = visitExprList(x.getArguments());
String funcName = x.getMethodName().toUpperCase();
SQLAggregateOption option = x.getOption();
boolean isDistinct = option != null;
switch (funcName) {
case "MAX":
item = new ItemSumMax(args, false, null);
break;
case "MIN":
item = new ItemSumMin(args, false, null);
break;
case "SUM":
item = new ItemSumSum(args, isDistinct, false, null);
break;
case "AVG":
item = new ItemSumAvg(args, isDistinct, false, null);
break;
case "GROUP_CONCAT":
SQLOrderBy orderExpr = (SQLOrderBy) x.getAttribute(ItemFuncKeyWord.ORDER_BY);
List<Order> orderList = null;
if (orderExpr != null) {
orderList = new ArrayList<>();
for (SQLSelectOrderByItem orderItem : orderExpr.getItems()) {
Order order = new Order(getItem(orderItem.getExpr()), orderItem.getType());
orderList.add(order);
}
}
SQLCharExpr charExpr = (SQLCharExpr) x.getAttribute(ItemFuncKeyWord.SEPARATOR);
String separator = ",";
if (charExpr != null) {
separator = charExpr.getText();
}
item = new ItemFuncGroupConcat(args, isDistinct, orderList, separator, false, null);
break;
case "COUNT":
item = new ItemSumCount(args, isDistinct, false, null);
break;
case "STDDEV":
item = new ItemSumStd(args, 0, false, null);
break;
default:
throw new MySQLOutPutException(ErrorCode.ER_OPTIMIZER, "", "not supported " + funcName);
}
}