资讯详情

pageHelper分页后数据混乱

问题:

分页后,数据重复,有些无法显示,数据非常混乱。然而,开发环境和测试环境无法重现,现场没有测试环境,正式环境一直存在问题。

解决过程:

后台跟踪数据库sql发现数据库返回正常,所以问题应该在代码上。

但数据库查询后,只是遍历赋值,没有特殊操作。

类似发现类似问题的原因有两个:

1.如果分页后需要操作数据,则需要先操作数据getList()之后再操作,这里已经有了List<MzhszPatReturn> patReturnList = pageInfo.getList(),排除这个问题;

2.很多人说是排序字段值重复造成的问题。sql没有排序,现在加上排序字段(唯一值)。现场暂时无法测试,暂时不确定是否有用。

代码:

PageInfo pageInfo = PageHelper.startPage(pageNum, pageSize, "id asc").doSelectPageInfo(() -> mzhszmapper.getPatientList(orgnCode, ksdm, kssj, jssj, klx, kbh));         PagedResult<MzhszPatReturn> pagedResult = new PagedResult<>(pageInfo);         List<MzhszPatReturn> patReturnList = pageInfo.getList();         for (MzhszPatReturn patReturn : patReturnList) {             patReturn.setNl(CommonUtils.getAge(patReturn.getCsrq()));             patReturn.setYffl("");             //按用法分类             String yffls = "";             for (String yf : patReturn.getYpyf().split(",")) {                 List<Sys1Sjzd> searchYf = yfList.stream().filter(p -> p.getDmz().equals(yf)).collect(Collectors.toList());                 if (searchYf.size() > 0) {                     String yffl = "静脉".equals(searchYf.get(0).getBz()) ? "输液" : searchYf.get(0).getBz();                     if (!patReturn.getYffl().contains(yffl)) {                         yffls = yffls   ","   yffl;                     }                 }             }             if (yffls.length() > 1) {                 patReturn.setYffl(yffls.substring(1, yffls.length()));             }         }         pagedResult.setList(patReturnList);

标签: kbh智能压力变送器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

 锐单商城 - 一站式电子元器件采购平台  

 深圳锐单电子有限公司