多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
一、首先引入分页插件依赖 ### ![](https://img.kancloud.cn/b4/ff/b4ffc046cfe2edc6e7477ef9b241d31d_1368x997.png) ### ~~~ <!-- 分页插件依赖 --> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>4.1.0</version> </dependency> ~~~ ### 二、增加配置文件 ### ![](https://img.kancloud.cn/72/be/72beb246943dac5e583a2010c66ce7d0_1515x859.png) ### ~~~ package net.xdclass.xdvideo.config; import com.github.pagehelper.PageHelper; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import java.util.Properties; /* * mybatis分页插件配置 * */ @Configuration public class MyBatisConfig { @Bean public PageHelper pageHelper(){ PageHelper pageHelper = new PageHelper(); Properties p = new Properties(); // 设置为true时,会将RowBounds第一个参数offset当成pageNum页码使用 p.setProperty("offsetAsPageNum","true"); //设置为true时,使用RowBounds分页会进行count查询 p.setProperty("rowBoundsWithCount","true"); p.setProperty("reasonable","true"); pageHelper.setProperties(p); return pageHelper; } } ~~~ ### 三、使用分页功能 ### ![](https://img.kancloud.cn/72/1a/721a30455c929be3703b786350ba3a48_1474x999.png) ### ~~~ /* * 分页接口 * @param page 当前第几页,默认是第一页 * @param size 每页显示几条 * @return * */ @GetMapping("page") public Object pageVideo(@RequestParam(value = "page",defaultValue = "1") int page, @RequestParam(value = "size", defaultValue = "10") int size){ System.out.println("page的值是"+page); //设置分页 PageHelper.startPage(page,size); List<Video> list = videoService.findAll(); //获取分页详情信息 将list传递进去 PageInfo<Video> pageInfo = new PageInfo<>(list); //return pageInfo;//如果直接返回pageInfo分页数据当中会有很多我们不想要的数据 可以打印看一下 //组装自己想要的分页结果数据 Map<String,Object> data = new HashMap<>(); data.put("total_size",pageInfo.getTotal());//总条数 data.put("total_page",pageInfo.getPages());//总页数 data.put("current_page",page);//当前页 data.put("data",pageInfo.getList());//数据 return data; } ~~~