• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Java FromItem类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中net.sf.jsqlparser.statement.select.FromItem的典型用法代码示例。如果您正苦于以下问题:Java FromItem类的具体用法?Java FromItem怎么用?Java FromItem使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



FromItem类属于net.sf.jsqlparser.statement.select包,在下文中一共展示了FromItem类的18个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: processPlainSelect

import net.sf.jsqlparser.statement.select.FromItem; //导入依赖的package包/类
/**
 * <p>
 * 处理 PlainSelect
 * </p>
 *
 * @param plainSelect
 * @param addColumn   是否添加租户列,insert into select语句中需要
 */
protected void processPlainSelect(PlainSelect plainSelect, boolean addColumn) {
    FromItem fromItem = plainSelect.getFromItem();
    if (fromItem instanceof Table) {
        Table fromTable = (Table) fromItem;
        if (this.tenantHandler.doTableFilter(fromTable.getName())) {
            // 过滤退出执行
            return;
        }
        plainSelect.setWhere(builderExpression(plainSelect.getWhere(), fromTable));
        if (addColumn) {
            plainSelect.getSelectItems().add(new SelectExpressionItem(new Column(this.tenantHandler.getTenantIdColumn())));
        }
    } else {
        processFromItem(fromItem);
    }
    List<Join> joins = plainSelect.getJoins();
    if (joins != null && joins.size() > 0) {
        for (Join join : joins) {
            processJoin(join);
            processFromItem(join.getRightItem());
        }
    }
}
 
开发者ID:baomidou,项目名称:mybatis-plus,代码行数:32,代码来源:TenantSqlParser.java


示例2: builderExpression

import net.sf.jsqlparser.statement.select.FromItem; //导入依赖的package包/类
/**
 * 处理条件
 */
protected Expression builderExpression(Expression expression, Table table) {
    //生成字段名
    EqualsTo equalsTo = new EqualsTo();
    equalsTo.setLeftExpression(this.getAliasColumn(table));
    equalsTo.setRightExpression(tenantHandler.getTenantId());
    //加入判断防止条件为空时生成 "and null" 导致查询结果为空
    if (expression == null) {
        return equalsTo;
    } else {
        if (expression instanceof BinaryExpression) {
            BinaryExpression binaryExpression = (BinaryExpression) expression;
            if (binaryExpression.getLeftExpression() instanceof FromItem) {
                processFromItem((FromItem) binaryExpression.getLeftExpression());
            }
            if (binaryExpression.getRightExpression() instanceof FromItem) {
                processFromItem((FromItem) binaryExpression.getRightExpression());
            }
        }
        return new AndExpression(equalsTo, expression);
    }
}
 
开发者ID:baomidou,项目名称:mybatis-plus,代码行数:25,代码来源:TenantSqlParser.java


示例3: getEntityAlias

import net.sf.jsqlparser.statement.select.FromItem; //导入依赖的package包/类
protected static String getEntityAlias(String entityName, PlainSelect query) {
	FromItem fromItem = query.getFromItem();
	if (hasEntityAlias(entityName, fromItem)) {
		return fromItem.getAlias();
	}
	if (query.getJoins() != null) {
		for (Object o : query.getJoins()) {
			Join join = (Join) o;
			if (hasEntityAlias(entityName, join.getRightItem())) {
				return join.getRightItem().getAlias();
			}
		}
	}
	logger.debug("Alias from entity " + entityName + " not found in query " + query);
	return null;
}
 
开发者ID:hongliangpan,项目名称:manydesigns.cn,代码行数:17,代码来源:QueryUtils.java


示例4: SubJoin

import net.sf.jsqlparser.statement.select.FromItem; //导入依赖的package包/类
final public FromItem SubJoin() throws ParseException {
      FromItem fromItem = null;
      Join join = null;
      SubJoin subJoin = new SubJoin();
  fromItem = FromItem();
                            subJoin.setLeft(fromItem);
  join = JoinerExpression();
                                subJoin.setJoin(join);
              {if (true) return subJoin;}
  throw new Error("Missing return statement in function");
}
 
开发者ID:UBOdin,项目名称:jsqlparser,代码行数:12,代码来源:CCJSqlParser.java


示例5: parseTable

import net.sf.jsqlparser.statement.select.FromItem; //导入依赖的package包/类
private Set<String> parseTable(FromItem fromItem) {
	Set<String> tableSet = new HashSet<String>();
	if (fromItem instanceof Table) {
		Table table = (Table) fromItem;
		tableSet.add(table.getName());
	} else if (fromItem instanceof SubSelect) {
		SubSelect subSelect = (SubSelect) fromItem;
		tableSet.addAll(parse(subSelect.getSelectBody()));
	}
	return tableSet;
}
 
开发者ID:PinaeOS,项目名称:timon,代码行数:12,代码来源:SelectParser.java


示例6: SubJoin

import net.sf.jsqlparser.statement.select.FromItem; //导入依赖的package包/类
final public SubJoin SubJoin() throws ParseException {FromItem fromItem = null;
        Join join = null;
        SubJoin subJoin = new SubJoin();
    fromItem = FromItem();
subJoin.setLeft(fromItem);
    join = JoinerExpression();
subJoin.setJoin(join);
{if ("" != null) return subJoin;}
    throw new Error("Missing return statement in function");
  }
 
开发者ID:marat-gainullin,项目名称:platypus-js,代码行数:11,代码来源:CCJSqlParser.java


示例7: getFromProjectionItems

import net.sf.jsqlparser.statement.select.FromItem; //导入依赖的package包/类
private List<ProjectionItem> getFromProjectionItems(FromItem fromItem, List<Join> joins) throws NoSuchTableException, AmbiguousCoalesceException {
	List<ProjectionItem> fromProjections = Lists.newArrayList();
	
	List<FromItem> fromSources = Lists.newArrayList();
	fromSources.add(fromItem);
	
	// add the joins
	if (joins != null) {
		for (Join join : joins) {
			fromSources.add(join.getRightItem());
		}
	}
		
	for (FromItem fromSource : fromSources) {
		if (fromSource instanceof Table) {
			fromProjections.addAll(getColumnsFromTable((Table) fromSource));
		} else if (fromSource instanceof SubSelect) {
			fromProjections.addAll(getColumnsFromSubSelect((SubSelect) fromSource));
		} else if (fromSource == null) {
			// do nothing
		} else {
			throw new RuntimeException("Not supported");
		}
	}
	
	return fromProjections;
}
 
开发者ID:sebastianoe,项目名称:s4j,代码行数:28,代码来源:QueryTypeExtractor.java


示例8: visit

import net.sf.jsqlparser.statement.select.FromItem; //导入依赖的package包/类
@Override
public void visit(PlainSelect plainSelect)
{
   /*
    * Check if the query uses DISTINCT flag
    */
   checkContainDistinct(plainSelect);
   
   FromItem fromItem = plainSelect.getFromItem();
   visitFromItemExpression(fromItem);
   
   /*
    * Collect the tables in the JOIN statement
    */
   List<Join> joins = plainSelect.getJoins();
   if (joins != null) {
      for (Join join : joins) {
         visitJoinExpression(join);
      }
   }
   
   /*
    * Collect the filter expressions in WHERE statement
    */
   Expression expr = plainSelect.getWhere();
   if (expr != null) {
      visitWhereExpression(expr);
   }
   
   /*
    * Collect the select item expressions in SELECT statement.
    */
   List<SelectItem> selectItemExpressions = plainSelect.getSelectItems();
   SelectItemHandler selectItemHandler = new SelectItemHandler(this);
   selectItemHandler.parse(selectItemExpressions);
}
 
开发者ID:obidea,项目名称:semantika,代码行数:37,代码来源:SelectStatementHandler.java


示例9: SubJoin

import net.sf.jsqlparser.statement.select.FromItem; //导入依赖的package包/类
final public FromItem SubJoin() throws ParseException {
/* @bgen(jjtree) SubJoin */
      SimpleNode jjtn000 = new SimpleNode(JJTSUBJOIN);
      boolean jjtc000 = true;
      jjtree.openNodeScope(jjtn000);
      FromItem fromItem = null;
      Join join = null;
      SubJoin subJoin = new SubJoin();
      try {
          fromItem = FromItem();
          subJoin.setLeft(fromItem);
          join = JoinerExpression();
          subJoin.setJoin(join);
          jjtree.closeNodeScope(jjtn000, true);
          jjtc000 = false;
          {
              if (true)
                  return subJoin;
          }
      } catch (Throwable jjte000) {
          if (jjtc000) {
              jjtree.clearNodeScope(jjtn000);
              jjtc000 = false;
          } else {
              jjtree.popNode();
          }
          if (jjte000 instanceof RuntimeException) {
              {
                  if (true)
                      throw (RuntimeException) jjte000;
              }
          }
          if (jjte000 instanceof ParseException) {
              {
                  if (true)
                      throw (ParseException) jjte000;
              }
          }
          {
              if (true)
                  throw (Error) jjte000;
          }
      } finally {
          if (jjtc000) {
              jjtree.closeNodeScope(jjtn000, true);
          }
      }
      throw new Error("Missing return statement in function");
  }
 
开发者ID:WeiMei-Tian,项目名称:editor-sql,代码行数:50,代码来源:CCJSqlParser.java


示例10: getFromItem

import net.sf.jsqlparser.statement.select.FromItem; //导入依赖的package包/类
public FromItem getFromItem() {
	return fromItem;
}
 
开发者ID:WeiMei-Tian,项目名称:editor-sql,代码行数:4,代码来源:Update.java


示例11: setFromItem

import net.sf.jsqlparser.statement.select.FromItem; //导入依赖的package包/类
public void setFromItem(FromItem fromItem) {
	this.fromItem = fromItem;
}
 
开发者ID:WeiMei-Tian,项目名称:editor-sql,代码行数:4,代码来源:Update.java


示例12: deparseJoin

import net.sf.jsqlparser.statement.select.FromItem; //导入依赖的package包/类
public void deparseJoin(Join join) {
    if (join.isSimple()) {
        buffer.append(", ");
    } else {

        if (join.isRight()) {
            buffer.append(" RIGHT");
        } else if (join.isNatural()) {
            buffer.append(" NATURAL");
        } else if (join.isFull()) {
            buffer.append(" FULL");
        } else if (join.isLeft()) {
            buffer.append(" LEFT");
        } else if (join.isCross()) {
            buffer.append(" CROSS");
        }

        if (join.isOuter()) {
            buffer.append(" OUTER");
        } else if (join.isInner()) {
            buffer.append(" INNER");
        } else if (join.isSemi()) {
            buffer.append(" SEMI");
        }

        buffer.append(" JOIN ");

    }

    FromItem fromItem = join.getRightItem();
    fromItem.accept(this);
    if (join.getOnExpression() != null) {
        buffer.append(" ON ");
        join.getOnExpression().accept(expressionVisitor);
    }
    if (join.getUsingColumns() != null) {
        buffer.append(" USING (");
        for (Iterator<Column> iterator = join.getUsingColumns().iterator(); iterator.hasNext();) {
            Column column = iterator.next();
            buffer.append(column.toString());
            if (iterator.hasNext()) {
                buffer.append(", ");
            }
        }
        buffer.append(")");
    }

}
 
开发者ID:WeiMei-Tian,项目名称:editor-sql,代码行数:49,代码来源:SelectDeParser.java


示例13: FromItem

import net.sf.jsqlparser.statement.select.FromItem; //导入依赖的package包/类
final public FromItem FromItem() throws ParseException {
      FromItem fromItem = null;
      String alias = null;
  switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
  case 80:
    jj_consume_token(80);
    if (jj_2_7(2147483647)) {
      fromItem = SubJoin();
    } else {
      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
      case K_SELECT:
      case 80:
        fromItem = SubSelect();
        break;
      default:
        jj_la1[58] = jj_gen;
        jj_consume_token(-1);
        throw new ParseException();
      }
    }
    jj_consume_token(81);
    break;
  case K_KEY:
  case K_END:
  case K_BEGIN:
  case S_IDENTIFIER:
  case S_QUOTED_IDENTIFIER:
    fromItem = Table();
    break;
  default:
    jj_la1[59] = jj_gen;
    jj_consume_token(-1);
    throw new ParseException();
  }
  switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
  case K_AS:
  case K_KEY:
  case K_END:
  case K_BEGIN:
  case S_IDENTIFIER:
  case S_QUOTED_IDENTIFIER:
    alias = Alias();
                       fromItem.setAlias(alias);
    break;
  default:
    jj_la1[60] = jj_gen;
    ;
  }
              {if (true) return fromItem;}
  throw new Error("Missing return statement in function");
}
 
开发者ID:UBOdin,项目名称:jsqlparser,代码行数:52,代码来源:CCJSqlParser.java


示例14: FromItem

import net.sf.jsqlparser.statement.select.FromItem; //导入依赖的package包/类
final public FromItem FromItem() throws ParseException {FromItem fromItem = null;
        Alias alias = null;
        String commentBeginBrakcet = null;
        Token tk = null;
        SubJoin subJoin = null;
        SubSelect subSel = null;
    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
    case LPAREN:{
      tk = jj_consume_token(LPAREN);
if (tk.specialToken != null) {
              commentBeginBrakcet=tk.specialToken.image;
             }
      if (jj_2_7(2147483647)) {
        subJoin = SubJoin();
subJoin.setCommentBeginBracket(commentBeginBrakcet);
      } else {
        switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
        case K_SELECT:
        case LPAREN:{
          subSel = SubSelect();
subSel.setCommentBeginBracket(commentBeginBrakcet);
          break;
          }
        default:
          jj_la1[62] = jj_gen;
          jj_consume_token(-1);
          throw new ParseException();
        }
      }
      tk = jj_consume_token(RPAREN);
if (tk.specialToken != null) {
                if (subJoin != null) {
                                 subJoin.setCommentEndBracket(tk.specialToken.image);
                                } else {
                 if (subSel != null) {
                   subSel.setCommentEndBracket(tk.specialToken.image);
                 }
                                }
             }
                         fromItem = subJoin != null ? subJoin : subSel;
      break;
      }
    case S_IDENTIFIER:
    case S_QUOTED_IDENTIFIER:{
      fromItem = Table();
      break;
      }
    default:
      jj_la1[63] = jj_gen;
      jj_consume_token(-1);
      throw new ParseException();
    }
    switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
    case K_AS:
    case S_IDENTIFIER:
    case S_QUOTED_IDENTIFIER:{
      alias = Alias();
fromItem.setAlias(alias);
      break;
      }
    default:
      jj_la1[64] = jj_gen;
      ;
    }
{if ("" != null) return fromItem;}
    throw new Error("Missing return statement in function");
  }
 
开发者ID:marat-gainullin,项目名称:platypus-js,代码行数:68,代码来源:CCJSqlParser.java


示例15: getSourcesMap

import net.sf.jsqlparser.statement.select.FromItem; //导入依赖的package包/类
public static Map<String, FromItem> getSourcesMap(TO_CASE toCase, SelectBody aSelectBody) {
    SourcesFinder instance = new SourcesFinder(toCase);
    aSelectBody.accept(instance);
    return instance.sources;
}
 
开发者ID:marat-gainullin,项目名称:platypus-js,代码行数:6,代码来源:SourcesFinder.java


示例16: deparseJoin

import net.sf.jsqlparser.statement.select.FromItem; //导入依赖的package包/类
public void deparseJoin(Join join) {
    if (join.isSimple()) {
        buffer.append(join.getComment() != null ? join.getComment() + " " + ExpressionDeParser.LINE_SEPARATOR : "").append(", ");
    } else {

        buffer.append(" ");
        if (join.isRight()) {
            buffer.append(join.getCommentRight() != null ? join.getCommentRight() + " " + ExpressionDeParser.LINE_SEPARATOR : "").append("Right ");
        } else if (join.isNatural()) {
            buffer.append(join.getCommentNatural() != null ? join.getCommentNatural() + " " + ExpressionDeParser.LINE_SEPARATOR : "").append("Natural ");
        } else if (join.isFull()) {
            buffer.append(join.getCommentFull() != null ? join.getCommentFull() + " " + ExpressionDeParser.LINE_SEPARATOR : "").append("Full ");
        } else if (join.isLeft()) {
            buffer.append(join.getCommentLeft() != null ? join.getCommentLeft() + " " + ExpressionDeParser.LINE_SEPARATOR : "").append("Left ");
        }

        if (join.isOuter()) {
            buffer.append(join.getCommentOuter() != null ? join.getCommentOuter() + " " + ExpressionDeParser.LINE_SEPARATOR : "").append("Outer ");
        } else if (join.isInner()) {
            buffer.append(join.getCommentInner() != null ? join.getCommentInner() + " " + ExpressionDeParser.LINE_SEPARATOR : "").append("Inner ");
        }

        buffer.append(join.getCommentJoin() != null ? join.getCommentJoin() + " " + ExpressionDeParser.LINE_SEPARATOR : "").append("Join ");

    }

    FromItem fromItem = join.getRightItem();
    fromItem.accept(this);
    if (join.getOnExpression() != null) {
        buffer.append(join.getCommentOn() != null ? " " + join.getCommentOn() + ExpressionDeParser.LINE_SEPARATOR : "").append(" on ");
        join.getOnExpression().accept(expressionVisitor);
    }
    if (join.getUsingColumns() != null) {
        buffer.append(join.getCommentUsing() != null ? " " + join.getCommentUsing() + ExpressionDeParser.LINE_SEPARATOR : "").append(" Using")
                .append(join.getCommentBeginBracket() != null ? " " + join.getCommentBeginBracket() + ExpressionDeParser.LINE_SEPARATOR : "").append(" ( ");
        for (int i = 0, s = join.getUsingColumns().size(); i < s; i++) {
            Column column = (Column) join.getUsingColumns().get(i);
            buffer.append(column.getComment() != null ? column.getComment() + " " + ExpressionDeParser.LINE_SEPARATOR : "").append(column.getWholeColumnName());
            if (i < join.getUsingColumns().size() - 1) {
                buffer.append(!join.getCommentComma().get(i).toString().isEmpty() ? " " + join.getCommentComma().get(i) + " " + ExpressionDeParser.LINE_SEPARATOR : "");
                buffer.append(", ");
            }
        }
        buffer.append(join.getCommentEndBracket() != null ? join.getCommentEndBracket() + " " + ExpressionDeParser.LINE_SEPARATOR : "").append(")");
    }
}
 
开发者ID:marat-gainullin,项目名称:platypus-js,代码行数:47,代码来源:SelectDeParser.java


示例17: visitFromItemExpression

import net.sf.jsqlparser.statement.select.FromItem; //导入依赖的package包/类
private void visitFromItemExpression(FromItem fromItem)
{
   fromItem.accept(this);
}
 
开发者ID:obidea,项目名称:semantika,代码行数:5,代码来源:SelectStatementHandler.java


示例18: hasEntityAlias

import net.sf.jsqlparser.statement.select.FromItem; //导入依赖的package包/类
private static boolean hasEntityAlias(String entityName, FromItem fromItem) {
	return fromItem instanceof net.sf.jsqlparser.schema.Table
			&& ((net.sf.jsqlparser.schema.Table) fromItem).getName().equals(entityName)
			&& !StringUtils.isBlank(fromItem.getAlias());
}
 
开发者ID:hongliangpan,项目名称:manydesigns.cn,代码行数:6,代码来源:QueryUtils.java



注:本文中的net.sf.jsqlparser.statement.select.FromItem类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java JDOMXPath类代码示例发布时间:2022-05-23
下一篇:
Java SOAPBinding类代码示例发布时间:2022-05-23
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap