Mybatis Plus多表关联查询
时间: 2024-01-11 14:46:31 浏览: 73
Mybatis Plus提供了非常方便的多表关联查询的方式。下面是一个简单的例子:
假设我们有两个实体类,分别是User和Order,一个User可以对应多个Order:
User.java
```java
public class User {
private Long id;
private String name;
private List<Order> orders;
// getter 和 setter 略
}
```
Order.java
```java
public class Order {
private Long id;
private Long userId;
private String orderNo;
// getter 和 setter 略
}
```
我们需要查询User及其对应的所有Order,可以使用Mybatis Plus提供的wrapper查询:
```java
QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.eq("id", 1); // 查询id为1的User
List<User> userList = userMapper.selectList(wrapper);
// 查询每个User对应的所有Order
for (User user : userList) {
QueryWrapper<Order> orderWrapper = new QueryWrapper<>();
orderWrapper.eq("user_id", user.getId()); // 查询userId等于当前User的id
List<Order> orderList = orderMapper.selectList(orderWrapper);
user.setOrders(orderList);
}
```
这样就可以查询出每个User对应的所有Order了。当然,多表关联查询还有其他方法,比如使用Mybatis Plus提供的@TableName、@TableId、@TableField注解等。具体可以参考Mybatis Plus的文档。
阅读全文