ISjkSQLHelper参考BaseDao常用接口包装类
public static <E> E[] getVosBySQL(String sql,Class c) throws Exception
{
ISjkSQLHelper helper = NCLocator.getInstance().lookup(ISjkSQLHelper.class);
List<Map> data = helper.getMaps(sql);
E[] rets = (E[]) Array.newInstance(c, data.size());
for (int i = 0; i < data.size(); i++) {
Map map = data.get(i);
CircularlyAccessibleValueObject body = (CircularlyAccessibleValueObject) c.newInstance();
Iterator<String> iterator = map.keySet().iterator();
while (iterator.hasNext()) {
String key = iterator.next();
Object value = map.get(key);
body.setAttributeValue(key, TypeConvert.convert(value, key));
}
rets[i] = (E) body;
}
return rets;
}
调用:
String sql = "select pk_config vdef1,'N' vdef2,rowno vdef3,colno vdef4,showname vdef5,sfcode vdef6,activecode vdef7"
+" from iufo_sf_config where dr=0 and pk_report='"+pk_report+"'";
SFContBookSupVO[] vos = SQLHelper.getVosBySQL(sql, SFContBookSupVO.class);
list.getHeadBillModel().setBodyDataVO(vos);