问一个Mybatis分页问题,Page和PageInfo的区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了问一个Mybatis分页问题,Page和PageInfo的区别相关的知识,希望对你有一定的参考价值。

如图所示,查询数据可以封装成PageInfo,页可以封装成Page,两个类内部作用一样,都自动根据查询结果做了总条数,总页码数....的封装,唯一不同的是PageInfo有个List属性就表示查询的数据,而Page里面并没有,分别打印发现,Page里面并没有list数据,那么把他响应到前台时候前台是怎么拿到当前页的数据的呢??PageInfo可以里面,因为它里面本来就有,而响应的Page里面并没有数据,但前台却能拿到并展示,怎么做到的??

参考技术A Page继承了ArrayList 所以实际上就是一个list 你可以看下Page的getResult()方法就知道了 public List<E> getResult()
return this;
参考技术B 10
你使用了selectOne方法,这个方法返回一条数据原因在这句异常:
org.apache: Expected one result (or null) to be returned by selectOne(), but found.ibatis.exceptions.TooManyResultsException追问

天,你是不是看错了,我问的分页问题啊,而且没有异常.....

参考技术C 重写了tostring方法,你打到控制台的信息不是它所有的结构。

Mybatis-Plus分页插件功能无效问题

需加入以下代码在容器中进行注册,参考https://mp.baomidou.com/guide/page.html

import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.transaction.annotation.EnableTransactionManagement;

/**
 * 功能说明:mybatis-plus注册配置
 * 开发人员:@author liusha
 * 开发日期:2019/9/1 9:28
 * 功能描述:分页插件
 */
@Configuration
@EnableTransactionManagement
@MapperScan("com.sand.*.mapper*")
public class MybatisPlusConfig {
  /**
   * 分页插件
   */
  @Bean
  public PaginationInterceptor paginationInterceptor() {
    return new PaginationInterceptor();
  }
}

 

以上是关于问一个Mybatis分页问题,Page和PageInfo的区别的主要内容,如果未能解决你的问题,请参考以下文章

MyBatis 3 分页

mybatis常用分页插件,快速分页处理

Mybatis拦截器实现分页

mybatis pagehelper 怎么求出总页数

mybatis分页查询怎么做

mybatis一对多分页查询