分页查询方法 PageMethod.startPage 返回总数量不对

前端页面分页查询总数量 显示为页面最大条数,直接查询数据库数据是对的

排查发现,查询结果是对象A,在返回结果给前端的时候是按照对象B返回的,
所以总数量显示的对象B 集合的总数量
原:

PageMethod.startPage(pageNum, pageSize);
List<BmCustomer> bmCustomerList = this.selectByCondition(bmCustomerRequestDTO);
List<BmCustomerVO> voList=new ArrayList<>();
for (BmCustomer bmCustomer : bmCustomerList) {
    BmCustomerVOvo =new BmCustomerVO();
    BeanUtils.copyProperties(bmCustomer,vo)
    voList.add(vo);
}

returnnew PageInfo<>(voList);

改动:

  PageMethod.startPage(pageNum, pageSize);
    List<BmCustomer> bmCustomerList = this.selectByCondition(bmCustomerRequestDTO);
	 PageInfo pageInfo = new PageInfo<>(bmCustomerList);
    List<BmCustomerVO> voList=new ArrayList<>();
    for (BmCustomer bmCustomer : bmCustomerList) {
        BmCustomerVOvo =new BmCustomerVO();
        BeanUtils.copyProperties(bmCustomer,vo)
        voList.add(vo);
    }
    pageInfo.setList(voList);
    return pageInfo;
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: PageHelper是一个MyBatis的分页插件,它可以自动生成分页语句并执行查询,使用起来非常方便。 使用PageHelper实现分页查询的步骤如下: 1. 在项目中引入PageHelper依赖。 2. 在MyBatis的配置文件中添加PageHelper插件。 3. 在需要分页的查询方法前调用PageHelper.startPage方法,传入分页参数。 4. 紧接着执行查询方法。 5. 最后使用PageInfo对结果进行包装,并返回给调用者。 举个例子: ```java // 在查询方法前调用PageHelper.startPage,传入分页参数 PageHelper.startPage(pageNum, pageSize); // 执行查询 List<User> users = userMapper.selectUsers(); // 将查询结果包装成PageInfo对象 PageInfo<User> pageInfo = new PageInfo<>(users); ``` 在使用PageHelper时,还可以调用其它方法来设置排序、查询条件等。具体用法可以参考PageHelper的文档或者示例代码。 ### 回答2: PageHelper.startPage是MyBatis的一个分页插件,用于实现分页查询功能。该方法需要在查询语句之前调用。 使用PageHelper.startPage可以简化分页查询的实现。传入的参数是页码和每页显示的记录数。方法会通过拦截器,在执行查询之前,自动为查询语句添加分页的相关信息。 使用该方法的好处是不需要自行编写分页查询的SQL语句,也无需手动计算分页的偏移量。PageHelper会在查询时将相关的分页参数加载到ThreadLocal中,并在查询结束后自动清除。 PageHelper.startPage的用法如下: 1. 在查询方法中调用PageHelper.startPage(pageNum, pageSize)方法,传入页码和每页显示的记录数; 2. 执行查询语句,得到查询结果; 3. 通过PageInfo对象来获取分页的相关信息,如记录数、页数等。 使用PageHelper.startPage可以简化分页查询的实现,提高开发效率。同时,该插件还支持更复杂的分页查询需求,如排序、自定义分页等。因此,PageHelper.startPage开发中非常实用的一个分页工具。 ### 回答3: PageHelper.startPage方法是MyBatis分页插件PageHelper提供的一个静态方法,用于实现分页查询。 使用PageHelper.startPage方法的前提是已经添加了PageHelper插件的依赖,并且在MyBatis的配置文件中配置了拦截器,使得PageHelper插件能够拦截并处理分页查询语句。 PageHelper.startPage方法的作用是设置分页查询的起始位置和查询的数据条数。方法参数中传入当前页数和每页显示的数据条数,方法会将这些信息保存在ThreadLocal变量中,以供PageHelper插件拦截查询语句时使用。 使用PageHelper.startPage方法时,首先在分页查询语句之前调用该方法设置分页信息,然后执行分页查询语句。PageHelper插件会在查询语句执行前,根据设置的分页信息自动拼接分页查询的SQL语句,并在查询语句执行后,返回分页查询的结果集。 例如,假设需要查询第2页每页显示10条数据的查询语句,可以使用PageHelper.startPage(2, 10)方法设置分页信息,然后执行查询语句。PageHelper插件会自动将查询语句转换为查询第11条到第20条数据的SQL语句,并返回查询结果。 通过使用PageHelper.startPage方法,可以简化分页查询的实现过程,提高代码的可读性和可维护性,使得分页查询功能更加方便和易用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值