本篇内容主要讲解“怎么解决pageHelper分页失效及如何配置问题”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么解决pageHelper分页失效及如何配置问题”吧!
pageHelper分页失效及配置问题
我在使用pageHelper的系统中加入mybatis-plus, 结果所有分页都失效了
原因
我这边的失效原因初步定为是因为mybatis-plus的自动配置和pageHelper的自动配置冲突了, 导致pageHelper的自动配置失效(最终是加上个配置类解决的)
解决方案
新建一个配置类
@Configurationpublic class MybatisConfig { @Bean public PageHelper pageHelper() { PageHelper pageHelper = new PageHelper(); Properties p = new Properties(); p.setProperty("offsetAsPageNum", "true"); p.setProperty("rowBoundsWithCount", "true"); p.setProperty("reasonable", "true"); pageHelper.setProperties(p); return pageHelper; }}
PageHelper分页无效及报错
第一种情况SQL报错
> Error querying database. Cause: java.sql.SQLSyntaxErrorException: You
> have an error in your SQL syntax; check the manual that corresponds to
> your MySQL server version for the right syntax to use near 'LIMIT 5'
> at line 3
原因:在xml写的sql带了分号,由于PageHelper会在sql尾部追加limit,所以导致生成sql时有误,导致错误。
错误写法:
<select id="selectAll" resultMap="BaseResultMap"> SELECT * FROM student;</select>
正确写法:
<select id="selectAll" resultMap="BaseResultMap"> SELECT * FROM student</select>
第二种情况分页无效
原因:可能是代码前后顺序有问题,应该先写分页,再执行sql。
错误写法:
List<Student> students = studentMapper.selectAll();PageHelper.startPage(1, 5, true);
正确写法:
PageHelper.startPage(1, 5, true);List<Student> students = studentMapper.selectAll();
到此,相信大家对“怎么解决pageHelper分页失效及如何配置问题”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!