错题集(二)
2019.7.26
今天使用pagehelper进行mybatis的分页查询,结果每次查询出来的total总是比表中的总记录数多,请求出来的条数也比要求的少,后查资料发现,pagehelper不支持关系的映射查询,
所以要对一对多的查询,先查询一的部分,在根据查询出来的内容根据关系映射表查询多的那一部分
pagehelper不支持一对多映射查询,使用collection标签进行关系映射会导致查询的总数和数量结果不正确,只能做两次查询
更改后的代码:
1 PageHelper.startPage(currentPage,pageSize); 2 List<BlogMain> blogMainList = baseMapper.selectAllBlogMain(); 3 for(BlogMain blogMain:blogMainList){ 4 List<Tag> tags = baseMapper.selectTagByBlogId(blogMain.getId()); 5 blogMain.setTagList(tags); 6 } 7 PageInfo<BlogMain> pageInfo = new PageInfo<>(blogMainList); 8 return pageInfo;