springboot整合pagehelper分页插件

一,前提环境条件:已创建好一个简单的springboot项目

springboot整合pagehelper分页插件步骤如下:

1.导入对应的maven依赖

<dependency>
	<groupId>com.github.pagehelper</groupId>
	<artifactId>pagehelper</artifactId>
	<version>5.1.4</version>
</dependency>
<dependency>
	<groupId>com.github.pagehelper</groupId>
	<artifactId>pagehelper-spring-boot-starter</artifactId>
	<version>1.2.5</version>
</dependency>

2.在application.properties配置文件中配置插件信息

pagehelper.helperDialect=mysql
pagehelper.reasonable=true
pagehelper.supportMethodsArguments=true
pagehelper.params=count=countSql

3.数据库准备部分数据

4.controller层代码

@RequestMapping("/Test")
@RestController
@CrossOrigin
public class TestController {

    @Autowired
    private StudentService studentService;

    @GetMapping ("findAll")
    public Map findAll(Integer pageNum, Integer limit) {
        List<Student> list = studentService.findAll(pageNum, limit);
        PageInfo pageInfo = new PageInfo(list);
        Map map = new HashMap();
        map.put("pageInfo",pageInfo);
        return map;
    }
}

5.service层代码

@Service
@Transactional
public class StudentServiceImpl implements StudentService {

    @Resource
    private StudentMapper studentMapper;

    @Override
    public List<Student> findAll(Integer pageNum,Integer limit) {
        if (pageNum == null) {
            pageNum = SystemConstants.DEFAULT_PAGE_NUM;
        }
        if(limit == null) {
            limit = SystemConstants.DEFAULT_PAGE_SIZE;
        }

        PageHelper.startPage(pageNum,limit);
        return studentMapper.findAll();
    }
}

6.mapper层代码

@Mapper
public interface StudentMapper {

    List<Student> findAll();
}

7.常量配置类代码

/**
 * @author XuJinHua
 * @ClassName SystemConstants
 * @description TODO
 * @date 2020/4/29 18:09
 * @Version 1.0
 */
public class SystemConstants {

    /**
     * 默认一页的数据量
     */
    public static final int DEFAULT_PAGE_SIZE = 10;

    /**
     * 默认分页的起始页
     */
    public static final int DEFAULT_PAGE_NUM = 1;
}

8.测试结果

二,注意事项

1.我们这次使用的分页方式是调用PageHelper的静态方法startPage来进行分页的;在你需要进行分页的 MyBatis 查询方法前调用 PageHelper.startPage 静态方法即可,紧跟在这个方法后的第一个MyBatis 查询方法会被进行分页。

2.PageInfo对象对返回的结果进行了良好的封装,这个对象里面包含了非常全面的分页属性。

total	                     12                数据总条数
list	                     […]               数据集合
pageNum	                      2                当前页码
pageSize           	          5                当前页显示的数据条数
size                          5                当前页个数
startRow	                  6                从第几条开始
endRow	                      10               到第几条结束
pages	                      3                总页数
prePage	                      1                上一页
nextPage	                  3                下一页
isFirstPage	                false              是否为第一页
isLastPage	                false              是否为最后一页
hasPreviousPage	             true              是否有上一页
hasNextPage	                 true              是否有下一页
navigateFirstPage	          1                首页
navigateLastPage	          3                尾页

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值