📄 sessionimpl.java
字号:
package org.kdb.impl;
import org.kdb.DatabaseManager;
import org.kdb.KdbException;
import org.kdb.Session;
import org.kdb.parser.BaseToken;
import org.kdb.parser.Tokenizer;
import org.kdb.struct.Database;
import java.util.List;
/**
* Date: 2007-11-20
* Time: 19:35:22
*/
public class SessionImpl implements Session {
private DatabaseManager dm = DatabaseManagerImpl.getInstance();
public int execute(String sql) {
Tokenizer tokenizer = new Tokenizer(sql);
try {
int cmd = BaseToken.getKey(tokenizer.getName());
switch (cmd) {
case 1:
//todo 执行SELECT
return 0;
case 2:
//todo 执行DELETE
return 0;
case 3:
//todo 执行INSERT
int count = new StatementExecutor(tokenizer, dm).executeInsert();
return count;
case 5:
//todo 执行create
new StatementExecutor(tokenizer, dm).executeCreate();
return 0;
case 4:
//todo 执行Use
dm.setCurrentDatabase(tokenizer.getName());
return 0;
case 11:
//todo 执行 Desc
return 0;
default:
throw new IllegalArgumentException("非法的关键字");
}
} catch (KdbException e) {
e.printStackTrace();
}
return 0;
}
public List<Object[]> executeQuery(String sql){
Tokenizer tokenizer = new Tokenizer(sql);
String str = null;
try {
str = tokenizer.getName();
} catch (KdbException e) {
e.printStackTrace();
}
int cmd = BaseToken.getKey(str);
if(cmd ==1){
return new StatementExecutor(tokenizer,dm).executeQuery();
}else{
System.out.println("查询语句无效");
return null;
}
}
public Database getDatabase() {
return dm.getDatabase();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -