📄 queryexecutor.java
字号:
package com.cownew.PIS.ui.ctrl.query;
import java.util.List;
import com.cownew.PIS.framework.client.ClientMetaDataLoaderFactory;
import com.cownew.PIS.framework.common.IBaseDAO;
import com.cownew.PIS.framework.common.PagingQueryParam;
import com.cownew.PIS.framework.common.db.Selectors;
import com.cownew.PIS.framework.common.metaDataMgr.EntityFieldModelInfo;
import com.cownew.PIS.framework.common.metaDataMgr.EntityModelInfo;
import com.cownew.PIS.framework.common.metaDataMgr.IMetaDataLoader;
import com.cownew.PIS.framework.common.metaDataMgr.NameUtils;
import com.cownew.PIS.framework.common.utils.KeyValueList;
import com.cownew.ctk.common.StringUtils;
public class QueryExecutor
{
private IBaseDAO baseDAO;
private Selectors selectors;
private String oql;
private QueryColumnPropertyList columnList;
private KeyValueList sqlParams;
private String voClassName;
public QueryExecutor(IBaseDAO baseDAO)
{
super();
this.baseDAO = baseDAO;
this.voClassName = NameUtils.getVOClassName(baseDAO.getEntityPath());
}
public void setSelectors(Selectors selectors)
{
this.selectors = selectors;
}
public QueryColumnPropertyList getColumnList()
{
return columnList;
}
public void setColumnList(QueryColumnPropertyList columnList)
{
this.columnList = columnList;
}
public IBaseDAO getBaseDAO()
{
return baseDAO;
}
public void setOQL(String oql)
{
this.oql = oql;
}
public void setSqlParams(KeyValueList sqlParams)
{
this.sqlParams = sqlParams;
}
/**
* 查询数据(不进行分页查询,一次性查询出所有数据)
* @return
* @
*/
public List executeQuery()
{
return executeQuery(null);
}
/**
* 查询数据(进行分页查询)
* @param pagingParam
* @return
* @
*/
public List executeQuery(PagingQueryParam pagingParam)
{
if (columnList == null || columnList.size() <= 0)
{
createDefaultPropertyList();
}
if (StringUtils.isEmpty(oql))
{
oql = "from " + voClassName;
}
return baseDAO.load(oql, sqlParams, selectors, pagingParam);
}
/**
* 当用户没有指定ColumnList属性的时候创建默认的ColumnList
*/
private void createDefaultPropertyList()
{
columnList = new QueryColumnPropertyList();
IMetaDataLoader metaLoader = ClientMetaDataLoaderFactory.getLoader();
EntityModelInfo emi = metaLoader.loadEntityByEntityPath(baseDAO
.getEntityPath());
String pkProperty = emi.getPrimaryKey();
List fields = emi.getFields();
for (int i = 0, n = fields.size(); i < n; i++)
{
EntityFieldModelInfo fieldInfo = (EntityFieldModelInfo) fields
.get(i);
if (fieldInfo.isLinkProperty())
{
continue;
}
if (fieldInfo.getName().equals(pkProperty))
{
QueryColumnProperty property = new QueryColumnProperty(
pkProperty, false);
columnList.add(property);
} else
{
QueryColumnProperty property = new QueryColumnProperty(
fieldInfo.getName(), fieldInfo.getAlias(), true);
columnList.add(property);
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -