手动分页
2018-03-26 本文已影响0人
freezml
public Object getTradeChinaDataTab(String sql ,int page){
Query query = entityManager.createNativeQuery(sql);
List<?> objecArraytList = query.getResultList();
List<Map<String,Object>> list = new ArrayList<>();
for(Object ob: objecArraytList){
Object[] obj = (Object[])ob;
Map<String,Object> mapf = new HashMap<>();
mapf.put("value", Double.parseDouble(String.valueOf(obj[0])));
mapf.put("country", String.valueOf(obj[1]));
mapf.put("province", String.valueOf(obj[2]));
mapf.put("time", String.valueOf(obj[3]));
list.add(mapf);
}
int index;
if(page!=1){
index = page;
}else{
index = 1;
}
List<Map<String,Object>> plist = new ArrayList<>();
int pageSize = 10;
int total = 0;
if(list!=null){
total = list.size()%pageSize==0?list.size()/pageSize:list.size()/pageSize + 1;
for(int i=(index-1)*pageSize;i<(pageSize*index<list.size()?pageSize*index:list.size());i++){
plist.add(list.get(i));
}
}
Map<String, Object> map = new HashMap<>();
map.put(LIST, plist);
map.put(TOTALPAGES, total);
map.put(CURRENTPAGE, index);
if(list.size()!=0){
map.put(TOTALRECORDS, list.size());
}else{
map.put(TOTALRECORDS, 0);
}
return map;
}