本文最后更新于22 天前,其中的信息可能已经过时,如有错误请发送邮件到qiqin-chang@qq.com
依赖:
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
</dependency>
任务:从前端获取页码和页码大小,返回总条数和数据
返回结果封装:
-result包
/**
* 封装分页查询结果
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class PageResult implements Serializable {
private long total; //总记录数
private List records; //当前页数据集合
}
Controller层:
/**
* 分页查询
* @param testPageQueryDTO
* @return
*/
@GetMapping("/page")
@ApiOperation("分页查询")
public Result<PageResult> page(TestPageQueryDTO testPageQueryDTO){
log.info("分页查询,参数为:{}",testPageQueryDTO);
PageResult pageResult = testService.pageQuery(testPageQueryDTO);
return Result.success(pageResult);
}
Service层接口:
/**
* 分页查询
* @param testPageQueryDTO
* @return
*/
PageResult pageQuery(TestPageQueryDTO testPageQueryDTO);
Service层:
/**
* 分页查询
* @param testPageQueryDTO
* @return
*/
public PageResult pageQuery(TestPageQueryDTO testPageQueryDTO) {
//开始分页查询
PageHelper.startPage(testPageQueryDTO.getPage(),testPageQueryDTO.getPageSize());
Page<Test> page = testMapper.pageQuery(testPageQueryDTO);
long total = page.getTotal();
List<Test> records = page.getResult();
return new PageResult(total,records);
}
Mapper层:
/**
* 分页查询
* @param testPageQueryDTO
* @return
*/
Page<Test> pageQuery(TestPageQueryDTO testPageQueryDTO);
Mapper.xml
<select id="pageQuery" resultType="com.sky.entity.Test"
parameterType="com.项目名.dto.TestPageQueryDTO">
select * from test
查询条件
order by create_time desc
</select>