mybatisplus 关联查询实现案例
时间: 2023-07-07 18:27:52 浏览: 93
mybatis关联查询案例
好的,下面是一个 MybatisPlus 的关联查询实现案例:
假设有两个实体类,一个是 User (用户),另一个是 Order (订单),其中 User 中有一个字段 userId 和 Order 中有一个字段 userId,表示订单所属的用户。现在需要根据用户 id 查询该用户的所有订单信息。
首先,需要在 User 实体类中添加一个 orders 字段,表示该用户的所有订单信息:
```java
public class User {
private Long userId;
private String username;
private List<Order> orders;
// getter 和 setter 方法省略
}
```
然后,可以使用 MybatisPlus 的 Wrapper 类来构造关联查询条件,调用 selectList 方法查询出符合条件的 User 对象,并将每个 User 对象的 orders 字段设置为该用户的所有订单信息:
```java
public List<User> selectUserAndOrders(Long userId) {
QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.eq("user_id", userId);
List<User> userList = userMapper.selectList(wrapper);
for (User user : userList) {
QueryWrapper<Order> orderWrapper = new QueryWrapper<>();
orderWrapper.eq("user_id", user.getUserId());
List<Order> orderList = orderMapper.selectList(orderWrapper);
user.setOrders(orderList);
}
return userList;
}
```
这样,就可以实现根据用户 id 查询该用户的所有订单信息。
阅读全文