JAVA里getrows获取总条数,PageHelper获取数据总条数的问题

PageHelper 使用的小坑

PageHelper 这个插件用了很多次了,但是今天使用的时候才发现中间有一个小坑,就是比如说,我们一般都是这样进行查询:

//开启分页,page代表当前页数,limit代表每页总数

PageHelper.startPage(page, limit);

//查询数据库的语句,pageHelper在这里做一次拦截器操作

List userInfos = userInfoService.queryAllUserInfo();

//使用PageInfo包装结果

PageInfo pageInfo = new PageInfo<>(userInfos);

上述操作是这样的,但是如果我们需要将查询的 List转换成前端展示的 ViewObject(VO) 对象,那么我们想当然会在中间做一次操作:

PageHelper.startPage(page, limit);

List userInfos = userInfoService.queryAllUserInfo();

//将userInfos某些字段隐藏,转换成前端需要的bean对象

List res = new ArrayList<>();

for (UserInfo info : pageInfo.getList()) {

res.add(convertUserInfoToVO(info));

}

//然后再包装一下前端对象

PageInfo pageInfo = new PageInfo<>(res);

这样获取的 pageInfo.getTotal()一直

你可能感兴趣的:(JAVA里getrows获取总条数,PageHelper获取数据总条数的问题)