mybatisplus 一对多联表
时间: 2023-12-20 21:32:34 浏览: 29
MybatisPlus提供了一对多联表查询的功能,可以通过使用子查询的映射方式来实现。下面是一个示例代码:
```java
@Mapper
public interface UserMapper extends BaseMapper<User> {
@Select("SELECT * FROM user")
@Results({
@Result(property = "id", column = "id"),
@Result(property = "orders", column = "id",
many = @Many(select = "com.example.mapper.OrderMapper.selectByUserId"))
})
List<User> selectUserWithOrders();
}
@Mapper
public interface OrderMapper extends BaseMapper<Order> {
@Select("SELECT * FROM order WHERE user_id = #{userId}")
List<Order> selectByUserId(Long userId);
}
```
在上面的示例中,`UserMapper`中的`selectUserWithOrders`方法使用了`@Results`注解来定义了一对多的映射关系。`@Result`注解中的`many`属性指定了使用`OrderMapper`中的`selectByUserId`方法来查询与用户相关的订单信息。
通过以上代码,我们可以实现一对多联表查询,查询出用户及其对应的订单信息。