Mybatis-plus是一个Mybatis的增强工具,提供了许多功能强大的API,其中包括分页查询和多表关联查询。在Mybatis-plus中,连表查询可以使用LambdaQueryWrapper或QueryWrapper加入多个表进行查询,然后再使用IPage进行分页。
IPage<Map<String, Object>> page = new Page<>(pageNum, pageSize);
LambdaQueryWrapper<Order> wrapper = new QueryWrapper<>().lambda();
wrapper.eq(Order::getUserId, userId).eq(Order::getStatus, status).select(Order::getId, Order::getOrderNo, Order::getCreateTime, Order::getStatus).orderByDesc(Order::getCreateTime);
IPage<Map<String, Object>> orderPage = orderService.pageMaps(page, wrapper);
Mybatis-plus的多表关联查询的参数,可以使用LambdaQueryWrapper或QueryWrapper加入多个表查询条件,并使用Join方法进行关联。也可以使用wrapper.select()方法指定需要查询的字段,使用SelectJoinTableInfo解决列名冲突问题。
/ 使用wrapper.select进行列名映射,解决列名冲突问题
LambdaQueryWrapper<Order> wrapper = new QueryWrap