失效就失效吧,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。这种异常真的很不好发现。