怎样做酒店网站ppt,北京网站制作公司兴田德润可信赖,插件 wordpress,城市文化建设的网站为什么#xff1f;
使用分页查询#xff0c;可以将查询结果分割成多个部分#xff0c;每次只查询部分数据#xff0c;从而提高性能、减少内存消耗、提高用户体验和数据安全性。
封装分页查询数据类
分页查询的结果通常包含 4 个字段#xff1a;
page#xff1a;当前页…为什么
使用分页查询可以将查询结果分割成多个部分每次只查询部分数据从而提高性能、减少内存消耗、提高用户体验和数据安全性。·
封装分页查询数据类
分页查询的结果通常包含 4 个字段
page当前页码limit每页大小total数据总数data查询的数据列表 page、limit 一般由前端传入接口而 total 、data 则从分页查询的结果取出。
/*** 分页查询结果泛型类*/
Data
NoArgsConstructor
AllArgsConstructor
public class PageSelectDataT {/*** 当前页码*/Long page;/*** 数据总数*/Long total;/*** 每页可显示数据条数*/Long limit;/*** 查询的记录*/ListT data;
}封装前端请求参数类
一般在前端请求分页的时候会提供 page 和 limit 两个参数分别表示请求第几页以及每一页的大小。所以可以定义一个分页请求参数类如下
/*** 分页请求参数类*/
Data
NoArgsConstructor
AllArgsConstructor
public class PageSelectObj {/*** 当前页码*/Long page;/*** 每页可显示数据条数*/Long limit;
}执行分页查询
在 dao 层执行 sql 语句之前要先定义IPage对象并将PageSelectObj参数传入。然后在调用 mapper.selectPage(IPage 对象QueryWrapper 对象)如下
public IPageMyObj list(PageSelectObj obj) {IPageMyObj page new Page();page.setCurrent(obj.getPage()) // 当前页码.setSize(obj.getLimit()); // 当前页大小QueryWrapperMyObj wrapper new QueryWrapper();wrapper.lambda().in(MyObj::getColumn, xxx);return this.baseMapper.selectPage(page, wrapper);
}this.baseMapper.selectPage 会返回一个 IPage 类型的对象从中可以取出 total 和查询出的数据
Long total IPage.getTotal();
List data IPage.getRecords()构建分页查询数据对象
PageSelectDataEcoSystemUser pageSelectRecords new PageSelectData();
pageSelectRecords.setData(data);
pageSelectRecords.setPage(page);
pageSelectRecords.setLimit(limit);
pageSelectRecords.setTotal(IPage.getTotal());