小问题,求解决!

540 阅读1分钟

好了,今天我遇到了一个问题,就是我通过订单表关联一个骑手信息表,大表关联小表,我想用left join 去做多表联查,呃呃呃,被说了,然后我用子查询在select后面去做,然后,经理来了一句小伙子别把数据库搞崩了。然后我就分开两次做查询,封装的是两个list的对象,然后做两个list去合并,我用的是foreach双重遍历,我总感觉有其他解决方案,却始终想不到,希望有位有缘人给我解答一下。

Map<String, Object> map = new HashMap();
map.put("stationId", stationId);
map.put("start", start);
map.put("end", end);
map.put("sourceType", sourceTypes);
map.putAll(BeanUtil.beanToMap(pageRequest, false, true));

List<RiderRankDto> riderRankDtos1 = tradeMapper.selectStationRiderList(map);

List<Integer> riderIds = riderRankDtos1.stream().map(a->a.getRiderId()).collect(Collectors.toList());
System.out.println(riderIds.toString());
List<RiderRankDto> riderRankDtos2 = riderMapper.selectRiderIds(riderIds);
for (RiderRankDto riderRankDto : riderRankDtos1) {
    int temp = riderRankDto.getRiderId();
    for (RiderRankDto r:riderRankDtos2) {
        if (r.getRiderId() == temp) {
            riderRankDto.setRiderName(r.getRiderName());
            riderRankDto.setRegisteTime(r.getRegisteTime());
        }
    }
}

return riderRankDtos1;

今天就到这了,下班,奥里给!!!