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


Java MySqlUnique类代码示例

本文整理汇总了Java中com.alibaba.druid.sql.dialect.mysql.ast.MySqlUnique的典型用法代码示例。如果您正苦于以下问题:Java MySqlUnique类的具体用法?Java MySqlUnique怎么用?Java MySqlUnique使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


MySqlUnique类属于com.alibaba.druid.sql.dialect.mysql.ast包,在下文中一共展示了MySqlUnique类的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: isUNI

import com.alibaba.druid.sql.dialect.mysql.ast.MySqlUnique; //导入依赖的package包/类
/**
 * only for show columns
 */
public boolean isUNI(String columnName) {
    for (SQLTableElement element : this.tableElementList) {
        if (element instanceof MySqlUnique) {
            MySqlUnique unique = (MySqlUnique) element;

            if (unique.getColumns().size() == 0) {
                continue;
            }

            SQLExpr column = unique.getColumns().get(0).getExpr();
            if (column instanceof SQLIdentifierExpr
                    && SQLUtils.nameEquals(columnName, ((SQLIdentifierExpr) column).getName())) {
                return unique.columns.size() == 1;
            } else if (column instanceof SQLMethodInvokeExpr
                    && SQLUtils.nameEquals(((SQLMethodInvokeExpr) column).getMethodName(), columnName)) {
                return true;
            }
        }
    }
    return false;
}
 
开发者ID:zuonima,项目名称:sql-utils,代码行数:25,代码来源:SQLCreateTableStatement.java

示例2: findUnique

import com.alibaba.druid.sql.dialect.mysql.ast.MySqlUnique; //导入依赖的package包/类
public MySqlUnique findUnique(String columnName) {
    for (SQLTableElement element : this.tableElementList) {
        if (element instanceof MySqlUnique) {
            MySqlUnique unique = (MySqlUnique) element;

            if (unique.containsColumn(columnName)) {
                return unique;
            }
        }
    }

    return null;
}
 
开发者ID:zuonima,项目名称:sql-utils,代码行数:14,代码来源:SQLCreateTableStatement.java

示例3: parseUnique

import com.alibaba.druid.sql.dialect.mysql.ast.MySqlUnique; //导入依赖的package包/类
public MySqlUnique parseUnique() {
    accept(Token.UNIQUE);

    if (lexer.token() == Token.KEY) {
        lexer.nextToken();
    }

    if (lexer.token() == Token.INDEX) {
        lexer.nextToken();
    }

    MySqlUnique unique = new MySqlUnique();

    if (lexer.token() != Token.LPAREN) {
        SQLName indexName = name();
        unique.setIndexName(indexName);
    }

    accept(Token.LPAREN);
    for (; ; ) {
        unique.getColumns().add(this.expr());
        if (!(lexer.token() == (Token.COMMA))) {
            break;
        } else {
            lexer.nextToken();
        }
    }
    accept(Token.RPAREN);

    if (identifierEquals("USING")) {
        lexer.nextToken();
        unique.setIndexType(lexer.stringVal());
        lexer.nextToken();
    }

    return unique;
}
 
开发者ID:mazhou,项目名称:es-sql,代码行数:38,代码来源:ElasticSqlExprParser.java

示例4: parseUnique

import com.alibaba.druid.sql.dialect.mysql.ast.MySqlUnique; //导入依赖的package包/类
public MySqlUnique parseUnique() {
    accept(Token.UNIQUE);

    if (lexer.token() == Token.KEY) {
        lexer.nextToken();
    }

    if (lexer.token() == Token.INDEX) {
        lexer.nextToken();
    }

    MySqlUnique unique = new MySqlUnique();

    if (lexer.token() != Token.LPAREN) {
        SQLName indexName = name();
        unique.setName(indexName);
    }
    
    //5.5语法 USING BTREE 放在index 名字后
    if (lexer.identifierEquals(FnvHash.Constants.USING)) {
        lexer.nextToken();
        unique.setIndexType(lexer.stringVal());
        lexer.nextToken();
    }

    accept(Token.LPAREN);
    for (;;) {
        SQLExpr column = this.expr();
        if (lexer.token() == Token.ASC) {
            column = new MySqlOrderingExpr(column, SQLOrderingSpecification.ASC);
            lexer.nextToken();
        } else if (lexer.token() == Token.DESC) {
            column = new MySqlOrderingExpr(column, SQLOrderingSpecification.DESC);
            lexer.nextToken();
        }
        unique.addColumn(column);
        if (!(lexer.token() == (Token.COMMA))) {
            break;
        } else {
            lexer.nextToken();
        }
    }
    accept(Token.RPAREN);

    if (lexer.identifierEquals(FnvHash.Constants.USING)) {
        lexer.nextToken();
        unique.setIndexType(lexer.stringVal());
        lexer.nextToken();
    }

    return unique;
}
 
开发者ID:zuonima,项目名称:sql-utils,代码行数:53,代码来源:MySqlExprParser.java


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