分享PageHelper的工作中遇见的一个坑

发布时间 2023-11-01 16:13:48作者: 我是一个邓疯子

1.前言,期初就是对数据量进行一个分页,并在查询后对返回的list进行部分的编码转中文功能,但是坑就埋在这里,花了一阵时间才找到了这个坑,再次记录下!

  • 到返回的midList这里数据都是正常的,

  • 将查询到的数据的字段名称替换为中文名称

  • 从数据库返回的数据没有直接返回,做了些数据处理,问题就发生在数据处理的时候,但是通过编码转中文过后,分页功能失效,几千数据量只能展示二十条数据

  • 于是定位到问题所在开始分析,编码转中文的方法(对比图,左边是之前的,右边是修改过后正常的)

1. 非常不妙的事情其实就发生在这个地方,midList本身是一个page对象,里面包含了分页信息,是之前的查询结果集

2. 但是经过数据处理后需要返回 List的数据结构,是创建了的一个新的对象的同时并没有将已经存在的分页信息拷贝到新的对象中,导致数据丢失,让分页功能失效

3. 所以修改后的编码转中文我取消掉了新的list对象,而对midList本身进行数据的处理,这样即可解决我目前的问题,还解决掉了萌新时期写的一些创建多余的对象来解决问题的冗余代码

修改完成,如下图所示,编码转中文功能实现,并且分页功能正常!

感谢各位大佬观看, 萌新说的不对的地方还请大佬及时纠正!