本文整理汇总了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;未经允许,请勿转载。 |
请发表评论