📄 abstractquery.java
字号:
package org.speedframework.engine;
import org.apache.log4j.Logger;
import org.speedframework.action.IActionBuilderFactory;
import org.speedframework.action.IResultsAction;
import org.speedframework.action.ISelectAction;
import org.speedframework.application.IApplication;
import org.speedframework.connection.IConnectionAdaptor;
import org.speedframework.entity.Pagination;
import org.speedframework.entity.ParamEntity;
import org.speedframework.exception.SpeedFrameworkException;
import org.speedframework.message.IMessage;
import org.speedframework.message.SynchronousSaveMessage;
import org.speedframework.message.state.IState;
import java.util.List;
public abstract class AbstractQuery implements Query {
protected int index = 0;
protected int maxResults = 0;
protected static final Logger log = Logger.getLogger(AbstractQuery.class);
protected IApplication application = null;
protected boolean useCache = true;
protected IActionBuilderFactory actionFactory;
protected IConnectionAdaptor connectionAdaptor;
public AbstractQuery(IApplication application,
IActionBuilderFactory actionFactory,
IConnectionAdaptor connectionAdaptor) {
this.application = application;
this.actionFactory = actionFactory;
this.connectionAdaptor = connectionAdaptor;
}
public int getMaxCount(String SQL, Object[] params)
throws SpeedFrameworkException {
Pagination pagination=new Pagination();
pagination.setPage(1);
this.getResults(SQL, params, null, pagination);
return pagination.getTotalCount();
}
public List getResults(String SQL, Object[] params, Class vo)
throws SpeedFrameworkException {
IMessage message = new SynchronousSaveMessage();
ISelectAction action = actionFactory.getSelectAction();
IState state = null;
message.setAction(action);
message.setApplicationID(application.getApplicationID());
message.setState(state);
ParamEntity entity = new ParamEntity();
entity.setMaxResults(this.maxResults);
entity.setIndex(this.index);
entity.setSQL(SQL);
entity.setParam(params);
entity.setLoadclass(vo);
entity.setConnectionAdaptor(this.connectionAdaptor);
entity.setUseCacheStatus(this.useCache);
message.setParamEntity(entity);
application.dealMessage(message);
// if (state.getState() == IState.FINISH) {
// return (IPOJO) ((List) message.getPojos()).get(0);
// }
return (List) message.getPojos();
}
public List getResults(String SQL, Object[] params, Class vo,
Pagination pagination) throws SpeedFrameworkException {
IMessage message = new SynchronousSaveMessage();
IResultsAction action = actionFactory.getResultsAction();
IState state = null;
message.setAction(action);
message.setApplicationID(application.getApplicationID());
message.setState(state);
ParamEntity entity = new ParamEntity();
entity.setSQL(SQL);
entity.setParam(params);
entity.setLoadclass(vo);
entity.setPagination(pagination);
entity.setUseCacheStatus(this.useCache);
message.setParamEntity(entity);
entity.setConnectionAdaptor(this.connectionAdaptor);
application.dealMessage(message);
// if (state.getState() == IState.FINISH) {
// return (IPOJO) ((List) message.getPojos()).get(0);
// }
return (List) message.getPojos();
}
public boolean getUseCacheStatus() {
return this.useCache;
}
public void setIndex(int begin) {
this.index=begin;
}
public void setMaxResults(int results) {
this.maxResults=results;
}
public void setUseCacheStatus(boolean useCache) {
this.useCache = useCache;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -