Mybatis分页插件有效范围
一、问题由来
在修改了一段代码后,将修改后的功能放在测试环境简单测试后,发现没有任何问题,因为测试环境数据量非常少(10条以下),因此
也就没有怀疑修改的代码存在问题,直接上生产环境,测试的时候发现后台打印了大量的查询数据,动态查看日志时,一个屏幕都展
示不完,并且浏览器也出现了内存溢出的状况,页面直接卡死。
二、问题分析
对于这个问题没别的,就是分页出现问题,没有正确分页导致一次性查询出几万条数据,最终出现各种各样的原因。然后开始排查
问题,先看了一下页面中有没有正确 传递分页 参数,
排查结果为,有传递分页参数,然后排查后台有没有正确接收到分页参数,排查的结果也没问题,已经正确设置分页参数了?那到底是什么原因造成的这个问题呢?
我仔细核查了自己写的代码,发现之前的代码查询没问题,
我添加的代码刚好加在设置分页参数和查询数据之间,并且添加的代码中也有查询。
这么一分析就知道问题出在哪里了,我添加的代码位置不对,阻隔了分页参数设置和数据查询,导致分页查询失效。
三、解决方案
找准问题后,立马修改代码,修改后的代码如下,再次测试时,问题解决。
发布后,重新去生产环境上面测试,问题解决。从这次BUG中学到了一点,Mybatis分页时,只对设置分页参数后最近的一次查
询有效。
分类:
Java框架
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现