在springboot 使用mybatis访问mysql, 使用pagehelper进行分页。
1、引入分页插件 - 使用maven
在pom文件中引入依赖
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.2.5</version>
</dependency>
2、在application.yml文件中配置PageHelper插件
pagehelper:
helperDialect: mysql
reasonable: true
supportMethodsArguments: true
params: count=countSql
具体解释见官方文档
3、使用pageHelper插件
3.1、在service层进行分页
3.2 、设置分页参数 : PageHelper.startPage(page,size),其中page为当前页,size为每页显示条数
3.3、 调用dao(mapper)层的查询全部方法 : PageHelper插件会自动的对下边第一个查询方法进行分页
3.4、 封装返回值PageInfo
@Override
public PageInfo<TUrlsEntity> selectUlrs() {
PageHelper.startPage(0,10);
List<TUrlsEntity> rows= videoSourceMapper.selectUrlsM();
PageInfo<TUrlsEntity> res = new PageInfo<TUrlsEntity>(rows);
return res;
注意:
分页代码PageHelper.startPage(pageNo,pageSize);只对其后的第一个查询有效。如把代码改为下面这样,添加一个查询,则第二个查询并没有分页
@GetMapping("/users")
public List<User> lists(@RequestParam(defaultValue = "1") int pageNo, @RequestParam(defaultValue = "10") int pageSize) {
PageHelper.startPage(pageNo,pageSize);
userService.getUsers();//这个查询会分页
return userService.getUsers();//这个查询不会分页
}
参考文章:
https://www.jb51.net/article/180963.htm
https://pagehelper.github.io/docs/howtouse/