mybatis一对多嵌套查询
时间: 2023-11-09 22:00:43 浏览: 129
在 MyBatis 中,一对多嵌套查询可以通过使用嵌套结果映射来实现。具体步骤如下:
1. 在主实体类中定义一个 List 类型的属性,用于存储关联实体对象。
2. 在主实体类对应的 Mapper.xml 文件中,使用嵌套查询语句查询关联实体对象,并将结果映射到主实体类的 List 属性中。
以下是一个示例:
```java
public class Order {
private int id;
private String orderNo;
private List<OrderItem> orderItems;
// getter and setter
}
public class OrderItem {
private int id;
private String itemName;
private int orderId;
// getter and setter
}
```
```xml
<!-- OrderMapper.xml -->
<select id="getOrderWithItems" resultMap="orderWithItems">
SELECT o.id, o.order_no, oi.id AS item_id, oi.item_name, oi.order_id
FROM orders o
LEFT JOIN order_items oi ON o.id = oi.order_id
WHERE o.id = #{id}
</select>
<resultMap id="orderWithItems" type="Order">
<id property="id" column="id"/>
<result property="orderNo" column="order_no"/>
<collection property="orderItems" ofType="OrderItem" resultMap="orderItemMap"/>
</resultMap>
<resultMap id="orderItemMap" type="OrderItem">
<id property="id" column="item_id"/>
<result property="itemName" column="item_name"/>
</resultMap>
```
阅读全文
相关推荐
















