1. 程式人生 > 其它 >java分頁查詢

java分頁查詢

oracle分頁 傳入當前頁碼pageIndex 和 每頁數量pageSize

//查詢總條數 StringBuffer Count = new StringBuffer(); Count.append("select count(1) as \"totalCount\" from ("+sql.toString()+")"); String tc =jdbcTemplate.queryForMap(Count.toString(),paramList.toArray()).get("totalCount").toString(); //當前頁資料 int pageIndex= appMappGrpDetBo
.getPageIndex(); int pageSize=appMappGrpDetBo.getPageSize(); List<Map<String,Object>> returnList = new ArrayList<Map<String,Object>>(); StringBuffer pageSql = new StringBuffer(); pageSql.append("select * from (select aa.*, rownum rn from (select * from ("); pageSql.append(sql
.toString()); pageSql.append(")) aa where rownum <= ?) where rn >= ?"); paramList.add(pageIndex * pageSize); paramList.add((pageIndex - 1) * pageSize + 1); returnList = jdbcTemplate.queryForList(pageSql.toString(), paramList.toArray()); if(returnList.size()==0){ returnMap.put("result", 1); returnMap
.put("returnCode", 1001); returnMap.put("returnMSG", "資料為空!"); returnMap.put("serviceCode", "serviceCode"); return returnMap; } //總頁數 int totalCount = Integer.parseInt(tc); int totalPage = totalCount % pageSize == 0 ? totalCount / pageSize : totalCount / pageSize + 1; returnMap.put("totalCount", totalCount); // 總條數 returnMap.put("totalPage", totalPage); // 總頁數 returnMap.put("pageSize", pageSize); // 每頁條數 returnMap.put("pageIndex", pageIndex); // 當前頁號