本文整理汇总了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;
}
示例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;
}
示例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;
}
示例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;
}