PageHelper(分页)的缓存问题

星期六一 2024-5-28 76 5/28

错误描述:在毕设中有一个地方需要查用户的宝宝列表,初次打开没毛病,可以查到用户所有的宝宝,但是刷新几次就出毛病了。之前一致很费解,不过不影响系统使用,所以就一致没有改,现在有空了想起来了这个Bug。
解决过程:在发现这个Bug之后,我就一致刷新页面,每次刷新的时候都看一下有没有遗漏宝宝,本来一共是四个宝宝,在刷了大改六七次之后,就变成了三个宝宝,这个时候看看浏览器的网络抓包,返回结果确实是三个宝宝,于是就去看后端,找到控制台输出的查询记录,找到那个查询语句,好家伙!在查询语句后面给我加了一个LIMIT 3。得,问题找到了。
解决办法:这个问题是因为PageHelper的缓存问题,在查询之前加上一个PageHelper.clearPage();清一下缓存就可以了
提一嘴:在4.24发的那个MyBatis查询的时候数据丢失问题也可能是这个原因引起的,当时没有仔细看,把数据放到缓存里面就好了,所以现在有两个解决方法:
1):把数据放到缓存里面,防止多次使用MyBatis访问数据库
2):看看查询的时候MyBatis是不是在查询语句上拼接了LIMIT,如果拼接了的话那就是分页的缓存问题,用上面的语句清理一下缓存就可以了

- THE END -

星期六一

5月28日18:39

最后修改:2024年5月28日
1

非特殊说明,本博所有文章均为博主原创。

共有 0 条评论