LambdaQueryWrapper 多表查询,请用java代码举例一下
时间: 2023-07-06 21:37:52 浏览: 137
好的,以下是一个使用LambdaQueryWrapper进行多表查询的Java代码示例:
假设我们有两张表,一张是user表,一张是order表。user表中有id、name、age等字段,order表中有id、user_id、order_no、order_time等字段。现在我们需要查询user表和order表中,user表中age大于18岁的所有用户的订单信息。
```java
// 首先,我们需要定义两个实体类,分别对应user表和order表
@Data
public class User {
private Long id;
private String name;
private Integer age;
}
@Data
public class Order {
private Long id;
private Long userId;
private String orderNo;
private Date orderTime;
}
// 然后,我们可以使用LambdaQueryWrapper进行多表查询:
LambdaQueryWrapper<Order> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.inSql("user_id", "select id from user where age > 18");
List<Order> orderList = orderMapper.selectList(queryWrapper);
```
在这个例子中,我们使用LambdaQueryWrapper构造了一个查询条件,其中使用了inSql方法,它可以将一个子查询的结果作为条件进行查询。在这个例子中,我们使用了一个子查询,查询了所有年龄大于18岁的用户的id,然后将这些id作为条件查询了order表,最终得到了所有满足条件的订单信息。
阅读全文