檢視admin列表 分頁顯示
阿新 • • 發佈:2021-08-22
根據前端獲取的資料封裝一個JavaBean
public class PageGridResult { // 當前頁數 private Long page; // 總頁數 private Long total; // 總記錄數 private long records; // 每行顯示的內容 private List<?> rows; public Long getPage() { return page; } public void setPage(Long page) { this.page = page; } public Long getTotal() { return total; } public void setTotal(Long total) { this.total = total; } public long getRecords() { return records; } public void setRecords(long records) { this.records = records; } public List<?> getRows() { return rows; } public void setRows(List<?> rows) { this.rows = rows; } }
首先根據文件配置分頁外掛: https://baomidou.com/guide/interceptor.html#%E4%BD%BF%E7%94%A8%E6%96%B9%E5%BC%8F-%E4%BB%A5%E5%88%86%E9%A1%B5%E6%8F%92%E4%BB%B6%E4%B8%BE%E4%BE%8B
@Configuration public class MybatisPlusConfig { // 最新版 @Bean public MybatisPlusInterceptor mybatisPlusInterceptor() { MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); return interceptor; } }
CURD文件: https://baomidou.com/guide/crud-interface.html#select
新建一個Page物件 此物件用於封裝分頁條件如: 第幾頁 每頁顯示多少條
Page<AdminUser> adminUserPage = new Page<>(page, pageSize);
呼叫selectPage分頁查詢 查詢結果將反射至Page物件中
adminMapper.selectPage(adminUserPage, queryWrapper);
@Override public IPage<AdminUser> queryUserPage(Integer page, Integer pageSize) { QueryWrapper<AdminUser> queryWrapper = new QueryWrapper<>(); queryWrapper.orderBy(true, true, "created_time"); Page<AdminUser> adminUserPage = new Page<>(page, pageSize); adminMapper.selectPage(adminUserPage, queryWrapper); return adminUserPage; }
controller就很簡單了根據前端傳入的分頁條件呼叫service類 並建立之前封裝的javaBean物件 將資料賦值返回即可
若前端未傳入資料 則設定一個預設值查詢即可
@Override
public GraceJSONResult getAdminList(Integer page, Integer pageSize) {
if (page == null) {
page = 1;
}
if (pageSize == null) {
pageSize = 10;
}
IPage<AdminUser> adminUserIPage = adminService.queryUserPage(page, pageSize);
PageGridResult pageGridResult = new PageGridResult();
pageGridResult.setPage(adminUserIPage.getPages());
pageGridResult.setRecords(adminUserIPage.getRecords().size());
pageGridResult.setTotal(adminUserIPage.getTotal());
pageGridResult.setRows(adminUserIPage.getRecords());
return GraceJSONResult.ok(pageGridResult);
}