PageInfo 转Page
时间: 2023-09-08 19:09:50 浏览: 48
在Java中,可以通过以下方式将PageInfo对象转换为Page对象:
```java
PageInfo<T> pageInfo = ...; // PageInfo对象
List<T> list = pageInfo.getList(); // 获取数据列表
Page<T> page = new Page<>(pageInfo.getPageNum(), pageInfo.getPageSize()); // 创建Page对象
page.setRecords(list); // 设置数据列表
page.setTotal(pageInfo.getTotal()); // 设置总记录数
```
其中,T代表数据类型。需要注意的是,Page对象是Mybatis-Plus框架中的分页对象,需要导入相应的依赖。
相关问题
pagehelper的PageInfo 转spring的Page
将PageInfo转换为Spring的Page,可以使用Spring提供的PageImpl类来实现。
具体步骤如下:
1. 首先,需要将PageInfo中的数据转换为List类型,可以使用PageInfo提供的getList()方法获取List数据。
2. 然后,将PageInfo的total属性和List数据分别传入PageImpl的构造方法中,创建一个新的Page对象。
3. 最后,将Page对象返回即可。
示例代码如下:
```
import com.github.pagehelper.PageInfo;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageImpl;
public class PageInfoConverter {
public static <T> Page<T> toPage(PageInfo<T> pageInfo) {
List<T> content = pageInfo.getList();
long totalElements = pageInfo.getTotal();
return new PageImpl<>(content, PageRequest.of(pageInfo.getPageNum() - 1, pageInfo.getPageSize()), totalElements);
}
}
```
使用方法如下:
```
PageInfo<User> pageInfo = userService.findUsersByPage(pageNum, pageSize);
Page<User> page = PageInfoConverter.toPage(pageInfo);
```
pagehelper的pageinfo转spring的page
将PageInfo对象转换为Spring的Page对象可以使用以下代码:
```java
public static <T> Page<T> convertPageInfoToPage(PageInfo<T> pageInfo) {
List<T> list = pageInfo.getList();
Pageable pageable = PageRequest.of(pageInfo.getPageNum() - 1, pageInfo.getPageSize());
long total = pageInfo.getTotal();
return new PageImpl<>(list, pageable, total);
}
```
将PageInfo对象转换为Spring的Page对象需要将原来的List、Pageable和总数三个属性都进行转换。
其中,List直接使用PageInfo的getList()方法获取即可;Pageable需要使用PageRequest的of()方法创建一个新的Pageable对象,需要注意的是,PageInfo的页码是从1开始的,而Spring的Pageable的页码是从0开始,所以需要对PageInfo的页码进行转换;总数需要使用PageInfo的getTotal()方法获取即可。
最后,将转换后的List、Pageable和总数三个属性传入PageImpl的构造方法中,即可得到Spring的Page对象。