springBoot+mybatis-plus实现分页

springBoot+mybatis-plus实现分页

法一:标准法

    依赖
<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>3.3.0</version>
</dependency>
    mybatisplusconfig
@Configuration
public class MybatisPlusConfig {
          
   
   @Bean
    public PaginationInterceptor paginationInterceptor() {
          
   
        return new PaginationInterceptor();
   }
    mapper
@Mapper
public interface UserMapper extends BaseMapper<User> {
          
   

//亲测这里最前面使用Ipage和Page是一样的,如果这里使用的是Page,下面也要改。但是还是推荐官网上面的Ipage,不改最好。
	//Page<User> selectPageVo(Page<User> page);
    IPage<User> selectPageVo(Page<User> page);
}
    service
public interface UserService extends IService<User> {
          
   
   IPage<User> selectPageVo(Page<User> page);
}
    serviceImpl
@Service
public class UserServiceImpl extends ServiceImpl<UserMapper,User> implements UserService {
          
   
    @Autowired
    UserMapper userMapper;

    @Override
    public IPage<User> selectPageVo(Page<User> page) {
          
   
        return userMapper.selectPageVo(page);
    }
}
    controller
@RequestMapping("/pagelist/{num}/{size}")
public IPage<User> pagelist(@PathVariable("num") int num,
                            @PathVariable("size") int size){
          
   
    Page<User> page=new Page<>(num,size);
    return userService.selectPageVo(page);
}

结果:访问localhost:8080/pagelist/1/5-------------成功 这个结果会有五条数据,并且还会带上一些其他的数据,具体见图 如 total:整张表一共多少个行 size:自己设置的一页多少条数据 current:当前页 orders:[]----这个我不知道是啥 pages:一共多少页

法二:偷懒法

前提是自己的MyBatis-plus自带的CRUD方法能够确定运行跑起来。 这里只是去写不同的点
    mapper:空的 service:空的 Controller:直接调用MyBatisplus默认有的page方法即可即可
@RequestMapping("/pagelist2")
public Page<User> pagelist2(){
          
   
    Page<User> page=new Page<>(1,2);
   return   userService.page(page);
}

或者

@RequestMapping("/pagelist2")
public Page<User> pagelist2(){
          
   
    Page<User> page=new Page<>(1,2);
   return   userService.page(page);
}

相关文档地址

经验分享 程序员 微信小程序 职场和发展