PageHelper的问题

来源:8-9 商品管理模块所有功能自测

慕慕8288485

2020-02-09

调用了 PageHelper.startPage后,后面的sql就没有被调用到(debug输出只有 select count(*) from mmall_product),最终数据输出的list为空。如果去掉pagehelper的调用,后面可以正确查询到数据。

请问这可能是什么原因?谢谢。

写回答

3回答

geelylucky

2020-02-10

同学,检查一下你的分页传的数据,是查询的第几页,每页多少条。如果查询的数量超过了总数量,当然是查不到数据的

0
2
慕慕8288485
非常感谢!
2020-02-10
共2条回复

慕慕8288485

提问者

2020-02-10

我去,startPage的pageNum参数默认值写成了0,应该是1.  改过后结果没有问题。

谢谢。

0
0

慕慕8288485

提问者

2020-02-10

我是用的默认值啊。老师帮忙看看,谢谢了。


controller中的代码:


    @RequestMapping(value = "list.do", method = RequestMethod.POST)

    @ResponseBody

    public ServerResponse getList(HttpSession session, @RequestParam(defaultValue = "0") Integer pageNum,

                                  @RequestParam(defaultValue = "10") Integer pageSize) {

        User user = (User) session.getAttribute(Consts.CURRENT_USER);

        if (user == null) {

            return ServerResponse.createByErrorCodeMessage(ResponseCode.NEED_LOGIN.getCode(), "用户未登录,请先登录");

        }

        ServerResponse response = userService.checkAdminRole(user);

        if (!response.isSuccess()) {

            return ServerResponse.createByErrorMessage("无权限操作,需要管理员权限");

        }


        return productService.getList(pageNum, pageSize);

    }



serviceImpl中的代码:

    @Override

    public ServerResponse<PageInfo<ProductItemVO>> getList(Integer pageNum, Integer pageSize) {

        PageHelper.startPage(pageNum, pageSize);

        List<Product> productList = productMapper.selectList();


        List<ProductItemVO> productItemVOList = Lists.newArrayList();

        for (Product productItem : productList) {

            ProductItemVO productItemVO = assembleProductItemVO(productItem);

            productItemVOList.add(productItemVO);

        }

        PageInfo<ProductItemVO> pageResult = new PageInfo(productList);

        pageResult.setList(productItemVOList);


        return ServerResponse.createBySuccess(pageResult);

    }



0
0

从0开始 独立完成企业级Java电商网站服务端开发

前后端分离,数据库接口设计,架构设计,功能开发,上线运维

9430 学习 · 8789 问题

查看课程