我遇到过两种情况:
第一种是:在Pagehelper和查询语句之间有其他sql
PageHelper.startPage(pageNum, pageSize, true);
XXXMapper.xxxx
Page<> page= (Page<>)TestMapper.query( );
改成
XXXMapper.xxxx
PageHelper.startPage(pageNum, pageSize, true);
Page<> page= (Page<>)TestMapper.query( );
或者
PageHelper.startPage(pageNum, pageSize, true);
Page<> page= (Page<>)TestMapper.query( );
XXXMapper.xxxx
第二种情况:某种多数据源的情况下,我的情况是分页插件spring只给了@Primary声明的SqlSessionFactory做了分页拦截
其他的SqlSessionFactory并没有,需要自己配置(下面是我某个老大解决的)。
PageInterceptor plugin = new PageInterceptor();
Properties properties = new Properties();
properties.setProperty("reasonable", "true");
properties.setProperty("supportMethodsArguments", "true");
properties.setProperty("returnPageInfo", "check");
properties.setProperty("params", "count=countSql");
plugin.setProperties(properties);
factoryBean.setPlugins(new Interceptor[]{plugin});