美文网首页
mybatisHelper用法

mybatisHelper用法

作者: 6默默Welsh | 来源:发表于2019-06-05 17:05 被阅读0次

实现分页功能需要三步:第一步,调用PageHelper的startPage方法,传入分页数量和每页显示的数量;第二步,填充分页数据;第三步,开始分页。注意,全部用List集合进行处理

public ServerResponse<PageInfo> getProductList(int pageNum, int pageSize) {
        //1.startPage--start
        PageHelper.startPage(pageNum,pageSize);
        //2.填充自己的sql查询逻辑
        List<Product> productList = productMapper.selectList();

        List<ProductListVo> productListVoList = Lists.newArrayList();
        for (Product productItem : productList) {
            ProductListVo productListVo = assembleProductListVo(productItem);
            productListVoList.add(productListVo);
        }
        //3.pageHelper--收尾
        PageInfo pageResult = new PageInfo(productList);
        //分页结果重置
        pageResult.setList(productListVoList);
        return ServerResponse.createBySuccess(pageResult);
    }
    //productListVo的组装方法
    private ProductListVo assembleProductListVo(Product product){
        ProductListVo productListVo = new ProductListVo();
        productListVo.setId(product.getId());
        productListVo.setName(product.getName());
        productListVo.setCategoryId(product.getCategoryId());
        productListVo.setImageHost(PropertiesUtil.getProperty("ftp.server.http.prefix","http://img.liuhe.link/"));
        productListVo.setMainImage(product.getMainImage());
        productListVo.setPrice(product.getPrice());
        productListVo.setSubtitle(product.getSubtitle());
        productListVo.setStatus(product.getStatus());
        return productListVo;
    }

没有写成PageInfo pageResult = new PageInfo(productListVoList);的原因是 PageHelper
是AOP做的,所以如果脱离了目标,切面不会命中,那么pagehepler自动增加sql里的limit和offset等就弄不上啦

相关文章

网友评论

      本文标题:mybatisHelper用法

      本文链接:https://www.haomeiwen.com/subject/rqixwqtx.html