mybatis出现自动追加limit分页问题

文章背景:2020年7月 1日接触新入职公司功能开发,功能所在服务数据库中间件用的mubatis。在写分页功能代码时我用自定义sql传参分页,单元测试通过没问题,放在开发环境自测时所有分页功能都报错,打开日志发现报错日志都是“LIMIT ?”这种,打印出的sql日志也是多了“LIMIT ?”,而我的sql已经有limit #{pageIndex},#{pageNum}参数。排查了好久以为是代码有问题,于是在sql语句中去掉手动limit分页代码,功能正常。于是又在调试。在网上找答案说是配置了PageHelper分页插件(由于是刚接触的新代码,不知道服务创建时配置情况,也不能修改配置,因为其他代码可能需要这个配置),于是找到其他分页功能的代码,使用了pageHelper.start(pageNum,pageSize);实现分页,不过这样要注意以下问题:

1.不使用分页插件,手动写sql实现分页功能

2.保证在 PageHelper 方法调用后紧跟 MyBatis 查询方法,必须保证分页和查询同时有效。

3.在执行分页代码前调用PageHelper.clearPage();

注:可以参考mybatis官方解答

相关知识:MybatisPlus 和 PageHelper插件都通过使用threadLocal 来实现分页功能

 

你可能感兴趣的:(mybatis开发问题集锦,java)