出现这种问题:检查几个地方:
1.MybatisPlusConfig类是否设置了分页插件:
/**
* 分页插件
* @return PaginationInterceptor
*/
@Bean
public PaginationInterceptor paginationInterceptor() {
return new PaginationInterceptor();
}
2.如果配置了还是不行:
看配置类是否和启动类在同一包下,如果不是的话放到同一个包下
3.这种方式可能还是不行:
查看是否引入类其他分页插件,若有删掉
4.还是不行的话:
最终解决在DataSourceConfig类的配置下配置分页插件:
@Bean
public SqlSessionFactory sessionFactory(
@Qualifier("mainDataSource")
final DataSource dynamicDataSource)
throws Exception {
MybatisSqlSessionFactoryBean sqlSessionFactoryBean = new MybatisSqlSessionFactoryBean();
sqlSessionFactoryBean.setDataSource(dynamicDataSource);
PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
sqlSessionFactoryBean.setMapperLocations(resolver.
getResources("classpath*:"
+ "/mappers/**/**Mapper.xml"));
// 分页插件
sqlSessionFactoryBean.setPlugins(new PaginationInterceptor[]{new PaginationInterceptor()});
return sqlSessionFactoryBean.getObject();
}
分页执行成功:
@Test
public void test() {
QueryWrapper<AdminUser> queryWrapper = new QueryWrapper<>();
queryWrapper.ge("username","admin");
Page<AdminUser> userPage = new Page<AdminUser>(1, 2);
IPage<AdminUser> iPage = adminUserMapper.selectPage(userPage, queryWrapper);
System.out.println("总页数:"+iPage.getPages());
System.out.println("总记录数:"+iPage.getTotal());
List<AdminUser> userList = iPage.getRecords();
userList.forEach(System.out::println);
}