LambdaQueryWrapper拼接LEFT JOIN
时间: 2024-08-14 14:07:53 浏览: 80
LambdaQueryWrapper是阿里巴巴DataXStream框架提供的一个便捷的SQL构建工具,它支持使用lambda表达式的形式生成SQL语句,包括JOIN操作。如果你想通过LEFT JOIN连接两个表,可以这样做:
```java
import com.baomidou.mybatisplus.core.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
// 假设我们有两个实体类User和Order,User有一个外键userId关联到Order
LambdaQueryWrapper<User> userWrapper = Wrappers.lambdaQueryWrapper(User.class);
LambdaQueryWrapper<Order> orderWrapper = Wrappers.lambdaQueryWrapper(Order.class);
// 使用LEFT JOIN将用户表和订单表连接起来,基于userId字段
userWrapper.leftJoin(orderWrapper).on((u) -> u.getUserId(), (o) -> o.getUserId());
// 这将生成类似这样的SQL:SELECT * FROM User LEFT JOIN Order ON User.userId = Order.userId
List<User> usersWithOrders = userMapper.selectList(userWrapper);
```
在这个例子中,`on`方法接收两个lambda函数,分别表示左表(User)和右表(Order)的对应条件。这样就创建了一个LEFT JOIN查询。
阅读全文