一.遇到的问题
在生产环境中,管理员列表的数据展示正常,而用户视角展示了数据,但是分页数据错误显示。废话不多说了,直接上图吧
管理员视角显示正常
用户视角分页展示错误
二.分析原因
用户视角的查询结果是基于管理员视角查询出来的结果再后端进行了二次过滤,于是看了下mybatis的分页插件的代码,它是基于mybatis对SQL进行了一次拦截,实质是在查询的时候就对数据进行了分页。而将结果进行二次过滤的时候,分页插件返回的条数则会异常。
三.验证
修改代码后验证,能够正确显示分页数据。
四.总结
mybatis 分页插件只能使用一次查询,多次查询也会影响分页的结果,也不能对查询出来的结果二次过滤。记录一下,避免爬坑