资讯动态

分页的理解

发布时间:2026/8/24 15:16:19 来源:尧图企业网站定制
分页把数据库大量数据拆成一页一页返回而不是一次性全部查出来。一般有两种方式可以实现1.PageHelper starter2.MyBatisPlus 分页但MyBatisPlus不用写sql,且和MyBatisPlus 的 CRUD、自动填充、逻辑删除等功能无缝配合。所以本文是mybatis plus的教学方法mavendependency groupIdmysql/groupId artifactIdmysql-connector-java/artifactId scoperuntime/scope /dependency dependency groupIdcom.baomidou/groupId artifactIdmybatis-plus-boot-starter/artifactId version3.5.3.1/version /dependency先在config文件中引入Configuration Bean public MybatisPlusInterceptor mybatisPlusInterceptor() { MybatisPlusInterceptor interceptor new MybatisPlusInterceptor(); // 分页插件 interceptor.addInnerInterceptor(new PaginationInnerInterceptor()); return interceptor; }分页要定义一个特殊的返回类PageResultData AllArgsConstructor NoArgsConstructor public class PageResult implements Serializable { private long total; //总记录数 private List records; //当前页数据集合 }然后就像一般的crud一样先接受请求page是get请求例GetMapping(/page) ApiOperation(分页查询) public ResultPageResult page(EmployeePageQueryDTO employeePageQueryDTO) { PageResult pageResult employeeService.pageQuery(employeePageQueryDTO); return Result.success(pageResult); } }EmployeePageQueryDTO是打包的请求Data public class EmployeePageQueryDTO implements Serializable { //姓名 private String name; //页码 private int page; //每页显示记录数 private int pageSize; }从controller层到service层在service接口先声明方法public interface EmployeeService { PageResult pageQuery(EmployeePageQueryDTO employeePageQueryDTO); }在serviceimpl中写方法关键Autowired private EmployeeMapper employeeMapper;注入mybatis plus的方法用它自带的sql操作Override public PageResult pageQuery(EmployeePageQueryDTO dto) { // 开启分页页码每页条数 PageEmployee page new Page(dto.getPage(), dto.getPageSize()); QueryWrapperEmployee wrapper new QueryWrapper(); //是按名字查询 wrapper.like(StringUtils.hasText(dto.getName()), name, dto.getName()); //是按名字查询 StringUtils.hasText是判断字符串是否有有效文本PageEmployee pageData employeeMapper.selectPage(page, wrapper);//如果是不需要筛选只做分页第二个传null return new PageResult(pageData.getTotal(), pageData.getRecords()); }map层(Mabitplus通用Mapper public interface EmployeeMapper extends BaseMapperEmployee { }分页完成

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价