Mybatis分页插件有效范围
一、问题由来
在修改了一段代码后,将修改后的功能放在测试环境简单测试后,发现没有任何问题,因为测试环境数据量非常少(10条以下),因此
也就没有怀疑修改的代码存在问题,直接上生产环境,测试的时候发现后台打印了大量的查询数据,动态查看日志时,一个屏幕都展
示不完,并且浏览器也出现了内存溢出的状况,页面直接卡死。
二、问题分析
对于这个问题没别的,就是分页出现问题,没有正确分页导致一次性查询出几万条数据,最终出现各种各样的原因。然后开始排查
问题,先看了一下页面中有没有正确 传递分页 参数,
排查结果为,有传递分页参数,然后排查后台有没有正确接收到分页参数,排查的结果也没问题,已经正确设置分页参数了?那到底是什么原因造成的这个问题呢?
我仔细核查了自己写的代码,发现之前的代码查询没问题,
我添加的代码刚好加在设置分页参数和查询数据之间,并且添加的代码中也有查询。
这么一分析就知道问题出在哪里了,我添加的代码位置不对,阻隔了分页参数设置和数据查询,导致分页查询失效。
三、解决方案
找准问题后,立马修改代码,修改后的代码如下,再次测试时,问题解决。
发布后,重新去生产环境上面测试,问题解决。从这次BUG中学到了一点,Mybatis分页时,只对设置分页参数后最近的一次查
询有效。