引入MyBatis-Plus依赖,下面注意指定自己的MyBatis-Plus版本。 < dependency> < groupId> </ groupId> < artifactId> </ artifactId> < version> </ version> </ dependency> 配置分页查询插件,将其配置到启动类或者配置类都可以。 @Bean 
@ConditionalOnMissingBean 
public  MybatisPlusInterceptor  mybatisPlusInterceptor ( )  { MybatisPlusInterceptor  interceptor =  new  MybatisPlusInterceptor ( ) ; PaginationInnerInterceptor  paginationInnerInterceptor =  new  PaginationInnerInterceptor ( DbType . MYSQL ) ; paginationInnerInterceptor. setMaxLimit ( 200L ) ; interceptor. addInnerInterceptor ( paginationInnerInterceptor) ; return  interceptor; 
} 
准备好数据库表,以及对应的实体类,并且准备好对应的mapper以及service。 @TableName ( "t_user" )  
@Data 
@ToString 
@NoArgsConstructor 
@AllArgsConstructor 
public  class  User  { @TableId ( value =  "id" ,  type =  IdType . ASSIGN_ID ) private  Long  id; @TableField ( "name" ) private  String  name; private  Integer  age; private  String  email; private  SexEnum  sex; @TableLogic private  Integer  isDelete; 
} 
@Repository 
public  interface  UserMapper  extends  BaseMapper < User > { } 
封装vo类返回Page对象 import  com. baomidou. mybatisplus. core. metadata.  OrderItem ; 
import  com. baomidou. mybatisplus. core. toolkit.  StringUtils ; 
import  com. baomidou. mybatisplus. extension. plugins. pagination.  Page ; 
import  lombok.  Data ; import  java. util.  Objects ; @Data 
public  class  PageQuery < T > { private  final  static  Integer  DEFAULT_PAGE_NUM  =  1 ; private  final  static  Integer  DEFAULT_PAGE_SIZE  =  5 ; private  Integer  pageNo =  DEFAULT_PAGE_NUM ; private  Integer  pageSize =  DEFAULT_PAGE_SIZE ; private  String  sortBy =  "age" ; private  Boolean  isAsc =  true ; public  Page < T > toMpPage ( String  sortBy,  Boolean  isAsc,  Integer  pageNo,  Integer  pageSize)  { if  ( ! StringUtils . isBlank ( sortBy) )  { this . sortBy =  sortBy; } if  ( ! Objects . isNull ( isAsc) )  { this . isAsc =  isAsc; } if  ( ! Objects . isNull ( pageNo) )  { this . pageNo =  pageNo; } if  ( ! Objects . isNull ( pageSize) )  { this . pageSize =  pageSize; } Page < T > =  new  Page < > ( this . pageNo,  this . pageSize) ; OrderItem  orderItem =  new  OrderItem ( ) ; orderItem. setAsc ( this . isAsc) ; orderItem. setColumn ( this . sortBy) ; page. addOrder ( orderItem) ; return  page; } 
} 
测试分页结果 public  class  TestPage  { @Autowired private  UserMapper  userMapper; @Test public  void  testPage ( )  { PageQuery < User > =  new  PageQuery < > ( ) ; Page < User > =  pageQuery. toMpPage ( "age" ,  true ,  1 ,  5 ) ; Page < User > =  userMapper. selectPage ( page,  new  LambdaQueryWrapper < > ( ) ) ; System . out. println ( resPage. getCurrent ( ) ) ; System . out. println ( resPage. getSize ( ) ) ; System . out. println ( resPage. getPages ( ) ) ; System . out. println ( resPage. getTotal ( ) ) ; List < User > =  resPage. getRecords ( ) ; records. forEach ( System . out:: println ) ; } 
}