springboot实现分页

上代码
首先写一个超链接跳转到controller层的方法

<a href="/demo/page" target="iframe">商品管理</a>
1
然后写后台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";
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
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);
1
2
3
4
5
6
7
8
9
10
需要注意的是,使用的是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>
1
2
3
4
然后分页就完成了

---------------------

猜你喜欢

转载自www.cnblogs.com/liyanyan665/p/11220063.html