将mybatisplus自带的page分页转换成自己的page工具类代码

先上工具类代码

/**
 * @Author: wusong
 * @since: 2022/7/18 14:10
 **/
public class WSPageBuilder {

	/**
	 * dto page to ws page
	 *
	 * @param dtoPage  dtoPage
	 * @param function wsPage
	 * @param <T>      提供类型
	 * @param <R>      返回类型
	 * @return
	 */
	public static <T, R> WSPage<R> toWsPage(IPage<T> dtoPage, Function<? super T, ? extends R> function) {
		WSPage<R> wsPage = new WSPage<>();
		wsPage.setCurrent(dtoPage.getCurrent());
		wsPage.setPages(dtoPage.getPages());
		wsPage.setSize(dtoPage.getSize());
		wsPage.setTotal(dtoPage.getTotal());

		List<R> record = dtoPage.getRecords()
				.stream()
				.map(function)
				.collect(Collectors.toList());

		wsPage.setRecords(record);

		return wsPage;
	}
}

使用demo

	Page<DataRepairPageDTO> page = abnormalRepairService.dataRepairPageQuery(condition);

		// 转换
	WSPage<DataRepairPageQueryResp> result = WSPageBuilder.toWsPage(page, AbnormalRepairConverter.INSTANCE::toFullDataRepairPageQueryResp);


版权声明:本文为qq_41625866原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。