失效就失效吧,muybatis-plus本来就带关分页功能呢,其实可以不用github的pagehelper插件。

不过在使用mybatis-plus的分页时,要先配置一个分页拦截器:

/**
 * @author kaige.wang
 * @date 2021-10-12
 */
@Configuration
public class PageConfig {

    @Bean
    public MybatisPlusInterceptor mybatisPlusInterceptor() {
        MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
        PaginationInnerInterceptor paginationInnerInterceptor = new PaginationInnerInterceptor(DbType.POSTGRE_SQL);
        interceptor.addInnerInterceptor(paginationInnerInterceptor);
        return interceptor;
    }
}

查询的示例:

	QueryWrapper<User> wapper = new QueryWrapper<>();
	wapper.select("id", "name", "create_time");
	wapper.orderByDesc("create_time");
	/*
	 * 通过调不同的方法来决定是否是分页
	 * 这个this.page()方法根据不同的Mybatis-plus版本,方法名和调用方式可能不同,在自己
	 * 的那个版本里找一下关于page的方法即可
	 */
	Page<User> pager = this.page(Page.of(1, 10), wapper);

这个是3.4.3版本的配置方法,低版本的配置方式稍有不同,Interceptor 对象不同了。低版本的应该是PaginationInterceptor

mybatis-plus分页失效还有一种可能,就是@configuration这个注解使用错了,导致Spring没有加载这个配置文件。有一个跟它很像的注解,是mybatis里的@configurable。这种异常真的很不好发现。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐