public class Subitem {
//数据库中对应字段private String suid;private String sname;private Date starttime;private Date endtime;private long pid;private Date updatetime;private long status;//一对一用到的对应实体类字段private Project project;//一对多需要的集合,集合中存放需要对应的数据,泛型为实体类private List items;
}
一对一查询对应子表条件com.ioc.mapper.ProjectMapper.findProjectByPid
@Select("select * from construction_project.project where pid =#{pid} and status=1")
Project findProjectByPid(int pid);
一对多查询对应子表条件com.ioc.mapper.ItemMapper.findItemsBySuid
@Select("select * from construction_project.item where suid = #{suid} and status = 1")
List findItemsBySuid(String suid);
if (newsAuthDto ==null){return ResponseResult.errorResult(AppHttpCodeEnum.DATA_NOT_EXIST);}//分页查询IPage page =new Page(newsAuthDto.getPage(),newsAuthDto.getSize());Page p = new Page();LambdaQueryWrapper queryWrapper =new LambdaQueryWrapper<>();//模糊查询if (StringUtils.isNotBlank(newsAuthDto.getTitle())){queryWrapper.like(WmNews::getTitle,newsAuthDto.getTitle());}//条件查询全部if (newsAuthDto.getStatus() != null){queryWrapper.eq(WmNews::getStatus,newsAuthDto.getStatus());}queryWrapper.orderByDesc(WmNews::getSubmitedTime);//查询作者page =page(page,queryWrapper);BeanUtils.copyProperties(page,p,"records");List pageRecords = page.getRecords();//NewsNameDto需要将作者姓名和其他信息一起返回给前端,NewsNameDto前端需要的数据List newsNameDtoList = pageRecords.stream().map((item) ->{NewsNameDto newsNameDto = new NewsNameDto();//将数据库实体类WmNews复制到前端需要的数据类中BeanUtils.copyProperties(item,newsNameDto,"userId");//查寻需要的数据,进行处理WmUser wmUser = wmUserMapper.selectById(item.getUserId());newsNameDto.setAuthorName(wmUser.getName());return newsNameDto;}).collect(Collectors.toList());PageResponseResult responseResult = new PageResponseResult(newsAuthDto.getPage(), newsAuthDto.getSize(), (int) page.getTotal());responseResult.setData(newsNameDtoList);return responseResult;
}
四、MyBatisPlus一对多查询
对需要进行子表的数据封装至list集合中,泛型为实体类
public class DishDto extends Dish {//菜品对应的口味数据private List flavors = new ArrayList<>();private String categoryName;private Integer copies;
}