问题再现
因为公司项目中的查询功能需要,查询出来的数据是树形结构,正常情况如下:
{
'data': [
{
'name': '张三',
'IDName': '123456789',
'......': '......',
'status': [
{
'meetType': '0',
'status': '0'
},
{
'meetType': '1',
'status': '2'
},
{
'meetType': '2',
'status': '1'
},
{
'meetType': '3',
'status': '4'
},
......
]
}
]
}
但是使用了PageHelp分页,就出现了数据不全的问题,直接给我丢失了部分数据,导致页面上数据显示不全,使用分页后获取的数据如下(与上面的数据做对比):
{
'data': [
{
'name': '张三',
'IDName': '123456789',
'......': '......',
'status': [
{
'meetType': '0',
'status': '0'
},
{
'meetType': '2',
'status': '1'
}
]
}
]
}
问题原因
对于比较了解的程序猿们都知道,PageHelper的工作原理,主要是依靠了拦截器。也就是说,在执行sql前会根据当前页数和条数在要执行的sql后面加上limit,工作原理如下: