LambdaQueryWrapper 关联查询
时间: 2023-10-15 21:29:06 浏览: 322
LambdaQueryWrapper 是 MyBatis-Plus 框架提供的一个查询条件构造器,用于构建复杂的查询条件。关联查询可以通过 LambdaQueryWrapper 的方法链来实现。
首先,需要在查询实体类中定义关联对象的字段。例如,如果有一个订单表和一个用户表,订单表中有一个关联用户的字段 userId,可以在订单实体类中定义一个 User 对象:
```java
public class Order {
private Integer id;
private Integer userId;
private String orderNo;
private User user;
// 省略 getter 和 setter 方法
}
```
然后,在查询时使用 LambdaQueryWrapper 的方法链进行关联查询。以查询订单及关联用户为例:
```java
LambdaQueryWrapper<Order> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(Order::getId, 1)
.leftJoin(User.class, Order::getUserId, User::getId, Order::setUser);
Order order = orderMapper.selectOne(queryWrapper);
```
上述代码中,eq 方法用于设置订单的 id 条件,leftJoin 方法用于进行左连接查询,并通过 set 方法将关联的用户对象设置到订单对象中。最后通过 selectOne 方法执行查询。
这样就实现了使用 LambdaQueryWrapper 进行关联查询的功能。根据具体业务需求,可以使用其他的查询条件方法来构建更复杂的关联查询条件。
阅读全文