你可以使用Mybatis-Plus的Wrapper类来实现两个表的联合查询。

首先,你需要定义一个VO类,用于存放两个表的联合查询结果。例如:

@Data
public class IpDetailVO {
    private String ip;
    private String country;
    private String region;
    private String city;
    private String isp;
    // 其他字段
}

然后,你可以使用Wrapper类来实现联合查询。例如:

QueryWrapper<IpAddress> wrapper = new QueryWrapper<>();
wrapper.eq('ip', '127.0.0.1');
IpAddress ipAddress = ipAddressMapper.selectOne(wrapper);

QueryWrapper<IpDetail> detailWrapper = new QueryWrapper<>();
detailWrapper.eq('ip_id', ipAddress.getId());
IpDetail ipDetail = ipDetailMapper.selectOne(detailWrapper);

IpDetailVO vo = new IpDetailVO();
vo.setIp(ipAddress.getIp());
vo.setCountry(ipDetail.getCountry());
vo.setRegion(ipDetail.getRegion());
vo.setCity(ipDetail.getCity());
vo.setIsp(ipDetail.getIsp());
// 设置其他字段

String json = JSON.toJSONString(vo);
System.out.println(json);

这里,我们先使用Wrapper类查询出对应的IpAddress和IpDetail对象,然后将它们的属性设置到VO对象中,最后将VO对象转换成JSON字符串即可。

当然,如果你需要查询多条数据,可以使用Mybatis-Plus的Wrapper类的其他方法,如eq、in、like等,来实现更丰富的查询条件。

Mybatis-Plus 联合查询两个表并返回 JSON 数据

原文地址: https://www.cveoy.top/t/topic/mKso 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录