映入插件的依赖
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>4.1.6</version>
</dependency>
使用原理
1、先设置PageHelper.startPage
PageHelper.startPage(pageNum, pageSize);//第一个参数是当前页数,第二个参数是每页显示多少个数据
2、 //紧跟着的第一个select方法会被分页
意思是设置了 PageHelper.startPage(pageNum, pageSize);后,后面的第一个(仅限第一个)业务层方法会自动进行物理分页,也就是在xml不用进行原始的limit分页操作
直接上代码
dao层
//显示所有动态
List<DynamicVo> dynamics();
service层
//显示所有动态
List<DynamicVo> dynamics();
业务层
@Override
public List<DynamicVo> dynamics() {
return dynamicMapper.dynamics();
}
xml
<select id="dynamics" resultMap="dynamicVo">
select d.id,d.cover,d.title,d.content,d.created_at,u.id uid ,u.avatar,u.name,c.name categoryName from
dynamic d LEFT JOIN
user u
ON d.uid=u.id
LEFT JOIN
category c
ON d.category_id=c.id
</select>
controller
//显示所有动态
@GetMapping("dynamics")
@ApiOperation("显示所有动态")
public ResponseBean dynamics(@RequestParam(value = "pageNum",defaultValue = "0") int pageNum,
@RequestParam(value = "pageSize",defaultValue = "5") int pageSize){
PageHelper.startPage(pageNum, pageSize);
List<DynamicVo> dynamics = dynamicService.dynamics();
PageInfo<DynamicVo> pageInfo=new PageInfo<>(dynamics);
return ResponseBean.success(pageInfo.getList());
}
运行结果