问一个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的区别的主要内容,如果未能解决你的问题,请参考以下文章