這里項目是springboot,mybatis,thymeleaf,實現我自制的商城項目后台頁面的分頁功能。
參考我之前總結的分頁,簡單的處理一下就可以了
上代碼
首先寫一個超鏈接跳轉到controller層的方法
<a href="/demo/page" target="iframe">商品管理</a>
然后寫后台controller層代碼
/**
* 后台商品頁面分頁
*/
@RequestMapping("/page")
public String page(String pageNumber,Model model){
String spPage=pageNumber;
//設置每頁條數
int pageSize=5;
//頁數
int pageNo=0;
if(spPage==null){
pageNo=1;
}else {
pageNo = Integer.valueOf(spPage);
if (pageNo < 1) {
pageNo = 1;
}
}
//設置最大頁數
int totalCount=0;
int count=selectService.getCount(phone);
if(count>0){
totalCount=count;
}
int maxPage=totalCount%pageSize==0?totalCount/pageSize:totalCount/pageSize+1;
if(pageNo>maxPage){
pageNo=maxPage;
}
tempPageNo=(pageNo-1)*pageSize;
//計算總數量
//分頁查詢
Map map=new HashMap();
map.put("pageNo",tempPageNo);
map.put("pageSize",pageSize);
map.put("phone",phone);
List<Map> list=selectService.pageList(map);
//最后把信息放入model轉發到頁面把信息帶過去
model.addAttribute("list",list);
model.addAttribute("pageNo",pageNo);
model.addAttribute("totalCount",totalCount);
model.addAttribute("maxPage",maxPage);
return "back/shangpin";
}
Mapper層的代碼
/**
* 商品查詢總條數
*/
@Select(value = "select count(*) as cou from shangpin group by sellerAccount having sellerAccount>=1 and sellerAccount=#{phone};")
int getCount(String phone);
/**
* 商品分頁查詢
*/
@Select(value = "select * from shangpin where sellerAccount=#{phone} limit #{pageNo},#{pageSize}")
List<Map> pageList(Map map);
需要注意的是,使用的是thymeleaf,則在最后把信息放入的容器只能是model。最后把所有的信息都轉發到商品管理頁面。
商品管理html頁面簡單寫一下,其他沒關系的都省略了,只干挑頭的。
<a th:href="@{/demo/page?pageNumber=1}">首頁</a>
<a th:href="@{'/demo/page?pageNumber='+${pageNo-1}}">上一頁</a>
<a th:href="@{'/demo/page?pageNumber='+${pageNo+1}}">下一頁</a>
<a th:href="@{'/demo/page?pageNumber='+${maxPage}}">尾頁</a>
然后分頁就完成了
但是上面的只是一個頁面,如果是多個頁面的話,代碼就會重復,因此我想找時間再把上面的分頁封裝起來,以后使用時可以直接調用即可,哈哈。有問題可以留言,謝謝!