aladdinqueryrouter.java
来自「mysql集群」· Java 代码 · 共 46 行
JAVA
46 行
package com.meidusa.amoeba.aladdin.parser;
import java.io.StringReader;
import com.meidusa.amoeba.aladdin.parser.sql.AladdinParser;
import com.meidusa.amoeba.mysql.net.MysqlConnection;
import com.meidusa.amoeba.net.DatabaseConnection;
import com.meidusa.amoeba.parser.Parser;
import com.meidusa.amoeba.parser.expression.Expression;
import com.meidusa.amoeba.parser.statment.PropertyStatment;
import com.meidusa.amoeba.route.AbstractQueryRouter;
/**
* @author struct
*/
public class AladdinQueryRouter extends AbstractQueryRouter {
@Override
public Parser newParser(String sql) {
return new AladdinParser(new StringReader(sql));
}
@Override
protected void setProperty(DatabaseConnection conn, PropertyStatment statment,Object[] parameters) {
Expression value = null;
if((value = statment.getValue("autocommit")) != null){
//暂时不支持非自动提交
/*if(((Long)comparable).longValue() == 1){
conn.setAutoCommit(true);
}else{
conn.setAutoCommit(false);
}*/
}else if((value = statment.getValue("names")) != null){
((MysqlConnection)conn).setCharset((String)value.evaluate(parameters));
}else if((value = statment.getValue("charset")) != null){
((MysqlConnection)conn).setCharset((String)value.evaluate(parameters));
}else if((value = statment.getValue("transactionisolation")) != null){
//conn.setTransactionIsolation((int)((Long)comparable).longValue());
}else if((value = statment.getValue("schema")) != null){
conn.setSchema((String)value.evaluate(parameters));
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?