1.问题描述
在使用代码result.getList()的时候发现是只能获取到第一页的数据,而不是所有的数据。
PageResult<RaditionTrainRecordVo> raditionTrainRecordByCondition = baseMapper.getPageList(dto, pageRequest);
result.getList();
2.解决方法
通常来说这样子的做法就是在我们返回给前端的数据的时候要进行一对多的处理,这时候我们可以对sql进行多表查询,然后使用jsonMapper进行映射即可。
具体的流程如下:
在vo类加上注解(infoRaditionTrainAssess对应的md文件名,trainJsonMapping:在md文件中的对象名):
@ResultProvider(JsonConfigMapper.class) @JsonMapper(resource ="infoRaditionTrainAssess.trainJsonMapping")
在md文件中:
trainJsonMapping
===
{
"id":"ID"
"fileList":
{
"oldFile":"P_OLDFILE"
}
}
这里需要注意,id是vo的属性名,ID是主表的字段名,如果是P_OLDFILE是其他表的别名,别名也是有讲究的,表名_字段名这样子,注意写sql返回的字段名也是要对应起个别名P_OLDFILE,与trainJsonMappering的别名对应一致即可,最后我们就可以有了对应的映射数据啦,具体的映射请参考官方文档:Json配置映射 · BeetlSQL3 官方使用手册 · 看云 (kancloud.cn)