Springboot整合PageHelper分页插件不生效问题。

先来看正常的整合
1.pom.xml依赖,Springboot版本是2.7

		<dependency>
			<groupId>org.mybatis.spring.boot</groupId>
			<artifactId>mybatis-spring-boot-starter</artifactId>
			<version>2.3.1</version>
		</dependency>
				<!--Mybatis分页插件-->
		<dependency>
			<groupId>com.github.pagehelper</groupId>
			<artifactId>pagehelper-spring-boot-starter</artifactId>
			<version>1.2.12</version>
		</dependency>

2.配置

注意这我们一般都不需要什么额外的配置,因为pagehelper-spring-boot-starter的整合度很高

3.如何使用分页

// 使用的方法很多,这里给出最简单最常用的一种
    @Override
    public PageInfo<KeyWord>  searchKeywords(KeyWord keyWord, Integer pageNum, Integer pageSize) {
        PageHelper.startPage(pageNum,pageSize);
        List<KeyWord> keyWords = keyWordMapper.searchKeywords(keyWord);
        PageInfo<KeyWord> pageInfo = new PageInfo<>(keyWords);
        return pageInfo;
    }

4.问题来了

按照网上的教程到这里就应该是能够成功分页的,但是我这里项目能正常启动,分页插件确实是不生效的。而且控制台无任务错误信息。
这时候就需要排查问题出在那里了。回想一下,PageHelper的工作原理就是借助了Mybatis提供的一个Interceptor,进而对sql进行改写,最后达成分页的效果。既然我们已经知道了它需要实现Interceptor这个接口,那我们何不顺着这条路,主动为分页插件实例化对象。请看下面这个代码

@Configuration
public class PageHelperConfigure {

    @Bean
    public Interceptor[] plugins() {
        return new Interceptor[]{new PageInterceptor()};
    }
}

5.问题解决

虽然没有时间去找为什么分页插件不生效,但是我们自己可以通过步骤4直接帮它初始化对应的对象,进而也能达到分页的效果。
  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值