在MyBatis中,一对多的关系中通过哪个标签来关联当前类中的属性( )
时间: 2024-05-10 10:18:50 浏览: 8
在 MyBatis 中,一对多的关系中通过 `<collection>` 标签来关联当前类中的属性。在该标签中可以设置子标签 `<resultMap>` 来映射一对多关系中的多个对象。同时,可以设置 `select` 属性来指定查询关联对象的 SQL 语句,或者通过 `mapper` 属性来指定对应的 Mapper 方法。例如:
```xml
<resultMap id="orderResultMap" type="Order">
<id property="id" column="order_id"/>
<result property="orderNo" column="order_no"/>
<result property="status" column="status"/>
<collection property="items" ofType="OrderItem">
<id property="id" column="item_id"/>
<result property="productName" column="product_name"/>
<result property="price" column="price"/>
</collection>
</resultMap>
```
上述代码中,`<collection>` 标签用来关联 `Order` 类中的 `items` 属性,指定了 `ofType` 属性为 `OrderItem`。同时,通过 `<id>` 和 `<result>` 标签来设置映射关系。在实际查询中,可以使用以下语句来查询一条订单及其所有的订单项:
```sql
SELECT o.id AS order_id, o.order_no, o.status, i.id AS item_id, i.product_name, i.price
FROM orders o
LEFT JOIN order_items i ON o.id = i.order_id
WHERE o.id = #{id}
```