如下图: 通过姓名.地址查询
新建一个page类
@Data public class MyPage implements Serializable { private Integer pageNo; // 当前页 private Integer pageSize; // 总页数 }
新建一个分页查询类
@Data public class EmpQuery extends MyPage { private String name; private String address; }
我用的是MybatisPlus,所以要导入分页插件
@Configuration public class MybatisPlusConfig { @Bean public MybatisPlusInterceptor mybatisPlusInterceptor() { MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); return interceptor; } }
最后是控制器类
@ApiOperation("分页查询员工列表") @GetMapping("/list") public Result<Map<String,Object>> getEmpList(EmpQuery param){ QueryWrapper<Emp> wrapper = new QueryWrapper<>(); // 如果长度不等于0 if(StringUtils.hasLength(param.getName())) { wrapper.like("name", param.getName()); } if(StringUtils.hasLength(param.getAddress())) { wrapper.like("address", param.getAddress()); } // 按id做倒序排列 wrapper.orderByDesc("id"); Page<Emp> page = empService.page(new Page<>(param.getPageNo(), param.getPageSize()),wrapper); Map<String, Object> data = new HashMap<>(); data.put("total", page.getTotal()); data.put("rows", page.getRecords()); return Result.success(data); }