mybatis-plus连表查询
时间: 2023-07-18 10:18:04 浏览: 115
MyBatis-Plus 提供了非常方便的连表查询方式,可以大大简化我们的开发流程。下面是一个示例,假设我们有两张表:user 和 order,user 表中有一个 id 字段,order 表中有一个 user_id 字段,表示订单所属的用户。
我们需要查询用户信息和该用户对应的所有订单信息,可以使用 MyBatis-Plus 提供的 Wrapper 类,将两张表关联起来:
```
public List<User> selectUserAndOrder() {
QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.select("user.id", "user.name", "order.id as order_id", "order.name as order_name")
.eq("user.id", 1)
.leftJoin("order", "user.id = order.user_id");
return userMapper.selectList(wrapper);
}
```
这里我们使用了 QueryWrapper 类来构建查询条件,其中 select 方法用于指定查询字段,leftJoin 方法用于指定关联表和关联条件。最后使用 selectList 方法执行查询,并返回一个包含 User 对象和 Order 对象的 List。注意,我们需要在 User 实体类中添加一个 List<Order> 类型的属性,用于存放订单信息。
```
public class User {
private Long id;
private String name;
private List<Order> orders;
// getters and setters
}
public class Order {
private Long id;
private String name;
private Long userId;
// getters and setters
}
```
这样,我们就可以方便地查询出用户信息和对应的订单信息。
阅读全文