mybatis中collection中再写一个collection
时间: 2023-08-23 18:29:17 浏览: 79
MyBatis中的collection标签可以用于处理嵌套的集合类型,但是不支持在collection标签中再写一个collection标签。如果需要处理嵌套的集合类型,则需要使用嵌套的resultMap或association标签来处理。
举个例子,如果有一个Order对象,其中包含多个OrderItem对象,而每个OrderItem对象又包含多个Product对象,可以按以下方式编写映射文件:
```
<resultMap id="orderResultMap" type="Order">
<id property="id" column="order_id"/>
<result property="orderNo" column="order_no"/>
<collection property="orderItems" ofType="OrderItem">
<id property="id" column="item_id"/>
<result property="quantity" column="quantity"/>
<result property="price" column="price"/>
<association property="product" javaType="Product">
<id property="id" column="product_id"/>
<result property="name" column="product_name"/>
<result property="description" column="product_desc"/>
</association>
</collection>
</resultMap>
```
可以看到,在处理嵌套集合类型时,使用了association标签来处理嵌套的Product对象。
阅读全文