查询结果,怎么分页并且显示分页页数,以及分页获取的信息数,代码如何写

图片说明
public class AdressController {

@Autowired    
  private ReceiveService receiveService ;

@PostMapping("/getAddress")
@ResponseBody
@ApiOperation(value="查询",notes="收货人地址")
@ApiImplicitParams({
    @ApiImplicitParam(name="sources",value="来源",paramType="query",required=true),
    @ApiImplicitParam(name="user_id",value="用户id",paramType="query",required=true),
    @ApiImplicitParam(name="page",value="分页页数",paramType="query",required=true),
    @ApiImplicitParam(name="limit",value="分页获取页数",paramType="query",required=true),
    @ApiImplicitParam(name="receive_user",value="收货人",paramType="query",required=false),
    @ApiImplicitParam(name="receive_tel",value="收货人手机",paramType="query",required=false),
    @ApiImplicitParam(name="receive_provice",value="省",paramType="query",required=false),
    @ApiImplicitParam(name="receive_city",value="市",paramType="query",required=false),
    @ApiImplicitParam(name="receive_region",value="区",paramType="query",required=false),
    @ApiImplicitParam(name="receive_adds",value="详细地址",paramType="query",required=false),
    @ApiImplicitParam(name="marks",value="默认地址",paramType="query",required=false)

})

public WebResult getreceivelist(
        @RequestParam(value="user_id",defaultValue="") Integer user_id,
        @RequestParam(value="receive_user",defaultValue="") String receive_user,
        @RequestParam(value="receive_tel",defaultValue="") String receive_tel,
        @RequestParam(value="receive_provice",defaultValue="") String receive_provice,
        @RequestParam(value="receive_city",defaultValue="") String receive_city,
        @RequestParam(value="receive_region",defaultValue="") String receive_region,
        @RequestParam(value="receive_adds",defaultValue="") String receive_adds,
        @RequestParam(value="marks",defaultValue="") Integer marks
        )
{
  try{
      Receive bean =new Receive();
      bean.setMarks(marks);
      bean.setReceive_tel(receive_tel);
      bean.setReceive_user(receive_user);
      bean.setReceive_adds(receive_adds);
      bean.setReceive_city(receive_city);
      bean.setReceive_province(receive_provice);
      bean.setReceive_region(receive_adds);
      bean.setUser_id(user_id);
      List<Receive> receivelist=receiveService.searchreceive(bean);
      if(receivelist.isEmpty() || receivelist==null){
          return WebResult.error("查询失败");
          }
      JSONObject obj =new JSONObject();
      obj.put("receive",receivelist);
      return WebResult.success(obj);
}
  catch(Exception e){
      e.printStackTrace();

  }
  return WebResult.error(null);
}

}

查询 你可以把查询的信息放到一个对象中,接口和获取列表是一个接口的话 就调用同一个方法;传的页码肯定是1,分页就是你获取列表那个分页代码。

这代码写得太复杂太冗余了,建议Controller接口参数太多,可以用map,或者用模型类接受参数,使用swagger2做接口文档
分页用pagehelper插件,自动完成分页操作
调用如下:

 public PageInfo<......Entity> queryByPage(Integer pageNo, Integer pageSize, Map<String, Object> map) {
        PageHelper.startPage(pageNo, pageSize);
        PageInfo<......Entity> page = new PageInfo(mapper.selectByCondition(map));
        return page;
    }

关注我,看我发的博文,里面有后端代码生成器,生成的代码简单多了

用pagehelper啊,自动分页,controller 里面只需要接受开始页,和每页的长度2个参数就行了

    /**
     * 分页查询所有数据
     * HttpResult是一个封装的返回对象
     */
    @PostMapping(value = "getAllByPage", produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
    public HttpResult<WelinkItemVO> getAllByPageWelinkItem(HttpServletRequest request,
                                                         @RequestParam(value = "page",defaultValue="1")Integer page,
                                                         @RequestParam(value = "size",defaultValue="10")Integer size,
                                                         WelinkItemEntity entity){
        HttpResult<WelinkItemVO> result = new HttpResult<WelinkItemVO>();
        PageInfo<WelinkItemVO> pages = welinkItemService.getPageWelinkItemListByCondition(page,size,entity);
        result.setData(pages.getList());
        result.setiTotalRecords(pages.getTotal());
        return result;
    }


     /**
     * 按条件分页查询
     */
    @Override
    @Transactional(readOnly=true)
    public PageInfo<WelinkItemVO> getPageWelinkItemListByCondition(Integer pageStart, Integer pageSize, final WelinkItemEntity entityCondition){
        PageInfo<WelinkItemVO> pageVo=new PageInfo<WelinkItemVO>();
        PageInfo<WelinkItemEntity> pageInfo = PageHelper.startPage(pageStart, pageSize).doSelectPageInfo(new ISelect() {
            @Override
            public void doSelect() {
                welinkItemDao.selectAllByCondition(entityCondition);
            }
        });

        List<WelinkItemVO> vos=new ArrayList<WelinkItemVO>();
        for(WelinkItemEntity entity:pageInfo.getList()){
            WelinkItemVO vo=new WelinkItemVO();
            BeanUtils.copyProperties(entity, vo);
            vos.add(vo);
        }

        pageVo.setList(vos);
        pageVo.setTotal(pageInfo.getTotal());
        return pageVo;
    }

https://blog.csdn.net/qq_33609401/article/details/83749083

建议使用PageHelper分页插件进行分页,简单,便捷,高效。