1.在ProjectDao中添加分頁相關方法:??
?ListfindPageObjects(
@Param("startIndex") int startIndex,
@Param("pageSize") int pageSize);
說明:當dao中的方法參數(shù)多余1個時要使用@Param注解定義參數(shù).
int getRowCount();
2.在ProjectMapper.xml文件中添加方法對應的id
<select id="findPageObjects" resultType="cn.xxx.ttms.product.entity.Project">
select * from tms_projects order by createdTime desc limit #{startIndex},#{pageSize}
</select>
<select id="getRowCount" esultType="int">
select count(*) from tms_projects;
</select>
3.在ProjectService接口及實現(xiàn)類中添加分頁查詢方法
MapfindPageObjects(int pageCurrent){? ? ? ? ??
int pageSize=2;? ? ? ? ??
int startIndex=(pageCurrent-1)*pageSize;? ? ? ? ??
獲取當前頁數(shù)據(jù)? ? ? ? ??
List<Project> list = projectDao.findPageObjects(startIndex,pageSize);
獲取分頁信息(總記錄數(shù),總頁數(shù),.....)
int rowCount = projectDao.getRowCount();
int pageCount = rowCount / pageSize;
if(rowCount%pageSize != 0){
pageCount++;
}
.......
封裝分頁信息(構建PageObject對象:VO)
將當前數(shù)據(jù)以及分頁信息封裝到map,然后返回.
}
4.編寫控制層方法??
@RequestMapping("doGetPageObjects")??
@ResponseBody??
public Map<String,Object> doGetPageObjects(Integer pageCurrent) {
return projectService.findPageObjects(pageCurrent);
}
5.編寫客戶端的project_list.js,page.js
project_list.js:
$(document).ready(function(){
doGetObjects();
})
function doGetObjects(){
var url="project/doGetPageObjects.do";
var pageCurrent=$("#pageId").data("pageCurrent");
if(!pageCurrent)pageCurrent=1;
var params={"pageCurrent":pageCurrent};
$.getJSON(url,params,function(result) {
setTableBodyRows(result.list);
setPagination(result.pageObject);
})
};
function setTableBodyRows(result){....}
page.js:
$(document).ready(function(){
$("#pageId").on("click",".pre,.next,.first,.last",jumpToPage)
})
function setPagination(pageObject){
$(".pageCount").html("總頁數(shù)("+pageObject.pageCount+")");
$(".pageCurrent").html("當前頁("+pageObject.pageCurrent+")");
$("#pageId").data("pageCount",pageObject.pageCount);
$("#pageId").data("pageCurrent",pageObject.pageCurrent);
}
function jumpToPage(){
var cValue=$(this).attr("class");
var pageCurrent=$("#pageId").data("pageCurrent");
var pageCount=$("#pageId").data("pageCount");
if(cValue=="pre"&&pageCurrent>1){
pageCurrent--;
}
.......
$("#pageId").data("pageCurrent",pageCurrent);
doGetObjects();
}