后端实现
-
引入PageHelper插件
<dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper-spring-boot-starter</artifactId> <version>1.2.3</version> </dependency>
-
添加PageModel实体类
@Data @NoArgsConstructor public class PageModel { private Integer pageNum; private Integer pageSize; }
这里的两个注解需要引入lombok插件才可以使用
-
在mapper文件中添加对数据库操作的方法
<select id="findByPaging" resultMap="BaseResultMap" parameterType="map"> select * from PARM_FUND_INFO order by cast(id as integer ) desc </select>
**注意:**这里的
by cast(id as integer)
是因为我数据库的id字段是varchar类型,需要将其转换为integer才能进行排序 -
在dao层添加方法,调用上面的方法
Page<FundInfo> findByPaging();
-
在service层以及service的实现类调用dao层的方法
//service Page<FundInfo> findByPage(Integer pageNum, Integer pageSize); //serviceImpl @Override public Page<FundInfo> findByPage(Integer pageNum, Integer pageSize) { PageHelper.startPage(pageNum,pageSize); Page<FundInfo> data=fundInfoMapper.findByPaging(); return data; }
**注意:**这里传入的pageNum是指要查询的页码,pageSize是指一页有多少条数据
-
controller层调用
@Autowired private FundInfoService fundInfoService; ... @ApiOperation("分页测试") @PostMapping("/page") @CrossOrigin public Result<List<FundInfo>> findByPaging(@RequestBody PageModel page) { int pageNum = page.getPageNum(); int pageSize = page.getPageSize(); Page<FundInfo> data = fundInfoService.findByPage(pageNum, pageSize); List<FundInfo> fundInfoList = data; Integer total