代码如下:
public List<T> getForList(T t) {
List<T> tList = new ArrayList<T>();StringBuffer sb = new StringBuffer(
"select rm,rm2.name from T rm,T2 rm2 Where 1=1 and rm.id=rm2.id ");
StringBuffer buffer = new StringBuffer(
"select count(*) from T rm,T2 rm2 Where 1=1 and rm.id=rm2.id ");
try {
if (null != rm.getname() || ("").equals(rm.getname())) {
sb.append("and rm.name like '%" + t.getname() + "%' ");
buffer.append("and rm.name like '%" + t.getname() + "%' ");
}
// sb.append(" order by rm.id ");
List<T> rmList = (List<T>) super.showPage(sb
.toString(), buffer.toString(), rm.getPage(), rm
.getPagesize());
if (rmList.size() != 0) {
Object objTotal = rmList.get(1);
Iterator it = ((Iterable<Throwable>) rmList.get(0)).iterator();
int i=0;
while (it.hasNext()) {
i++;
Object[] obj = (Object[]) it.next();
RgMethod rm_ = (RgMethod) obj[0];
String name = (String) obj[1];
rm_.setname(name);
rm_.setTotal(Integer.valueOf(objTotal.toString()));
tList.add(rm_);
}
rmList=null;
System.out.println(i);
}
} catch (Exception e) {
logger.error(ErrorTrace.getTrace(e));
return null;
}
return tList;
}
经分析后增加上排序语句【sb.append(" order by rm.id ");】,查询结果通过