①:设置分页拦截器作为Spring管理的bean
package com.ning.config;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import java.util.Random;
/**
* 分页插件
*
* @author ning
* @since 2022/10/29 13:25
*/
@Configuration
public class MybatisPlusConfig {
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor(){
//创建MybatisPlusInterceptor拦截器对象
MybatisPlusInterceptor mybatisPlusInterceptor = new MybatisPlusInterceptor();
//添加分页拦截器
mybatisPlusInterceptor.addInnerInterceptor(new PaginationInnerInterceptor());
return mybatisPlusInterceptor;
}
}
②:执行分页查询
@GetMapping("/list")
public PageDTO<Item> list(Integer page, Integer size) {
log.info("分页查询===前后端连通==="+ page + "===" + size);
//创建分页对象
Page<Item> queryPage = new Page<>();
//当前页
queryPage.setCurrent(page);
//当前页要显示多少行
queryPage.setSize(size);
//分页查询
Page<Item> itemPage = this.itemService.page(queryPage);
//分页查询,也可以这样写在一起
//Page<Item> itemPage = this.itemService.page(new Page<>(page,size));
//将分页查询封装到返回结果类中
PageDTO<Item> pageDTO = new PageDTO<>();
pageDTO.setTotal(itemPage.getTotal());
pageDTO.setList(itemPage.getRecords());
return pageDTO;
}