Mybatis中PageHelper插件为什么不起作用?

pom文件中

pagehelper依赖项:

<dependency>
    <groupId>com.github.pagehelper</groupId>
    <artifactId>pagehelper</artifactId>
    <version>5.2.0</version>
</dependency>

mybatis依赖项:

<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis</artifactId>
    <version>3.5.7</version>
</dependency>

mybatis配置文件:

<plugin interceptor="com.github.pagehelper.PageInterceptor">
    <!-- config params as the following -->
    <property name="param1" value="value1"/>
</plugin>

下面是java代码:

@Test
public void testSelectStudentAllByPage() {
    SqlSession sqlSession  = MybatisUtils.getSqlSession();
    StudentDao dao = sqlSession.getMapper(StudentDao.class);
    PageHelper.startPage(2,2);
    List<Student> studentList = dao.selectStudentAllByPage();
    for (Student stu:studentList){
        System.out.println(stu);
    }
}

理论上讲应该分两行输出(库里一共有七行数据)

下面是代码运行结果:

Logging initialized using 'class org.apache.ibatis.logging.stdout.StdOutImpl' adapter.
PooledDataSource forcefully closed/removed all connections.
PooledDataSource forcefully closed/removed all connections.
PooledDataSource forcefully closed/removed all connections.
PooledDataSource forcefully closed/removed all connections.
Opening JDBC Connection
Created connection 2072724423.
==>  Preparing: select * from student order by id
==> Parameters: 
<==    Columns: id, name, email, age
<==        Row: 1001, 张三, zhangsan@qq.com, 20
<==        Row: 1002, 李四, lisi@163.com, 24
<==        Row: 1003, 王五, wangwu@126.com, 30
<==        Row: 1004, 张飞, zhangfei@163.com, 22
<==        Row: 1005, 刘备, liubei@163.com, 21
<==        Row: 1006, 李白, libai@qq.com, 21
<==        Row: 1007, 李商隐, lishangyin@163.com, 23
<==      Total: 7
Student{id=1001, name='张三', email='zhangsan@qq.com', age=20}
Student{id=1002, name='李四', email='lisi@163.com', age=24}
Student{id=1003, name='王五', email='wangwu@126.com', age=30}
Student{id=1004, name='张飞', email='zhangfei@163.com', age=22}
Student{id=1005, name='刘备', email='liubei@163.com', age=21}
Student{id=1006, name='李白', email='libai@qq.com', age=21}
Student{id=1007, name='李商隐', email='lishangyin@163.com', age=23}

sql语句里面根本就没有添加上limit,我自己手动添加limit是可以正常两行输出的。

看了很多解决方法,一种可能是mybatis和pagehelper版本不匹配,但这俩都是我从github上下载到的最新版本。另一种可能貌似涉及到了pagehelper的底层机制,好像是什么拦截没成功?但这种我又搞不懂,求大佬帮忙

检查一下版本。pagehelper 有maven和非maven版本。

楼主远程吧。发个向日葵给我。。

建议你这个查询别用框架自带的。手写一个xml文件,自己写个sql试试。我感觉就是底层有冲突

缺配置吧

在springboot项目中要使用这个依赖
<!--pagehelper 分页插件的使用-->
<dependency>
    <groupId>com.github.pagehelper</groupId>
    <artifactId>pagehelper-spring-boot-starter</artifactId>
    <version>1.2.5</version>
</dependency>
PageInfo<Student> pageInfos = null;
PageHelper.startPage(page, size);
pageInfos = new PageInfo<Student>((List<Student>) list);

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632