MyBatis中實現一對多嵌套查詢的方法是使用嵌套結果映射(nested result mapping)或者嵌套查詢(nested select)。
示例代碼如下:
<!-- Order的映射文件 -->
<resultMap id="orderMap" type="Order">
<id property="id" column="order_id"/>
<!-- 其他屬性映射 -->
<collection property="orderItems" ofType="OrderItem" resultMap="orderItemMap"/>
</resultMap>
<resultMap id="orderItemMap" type="OrderItem">
<id property="id" column="item_id"/>
<!-- 其他屬性映射 -->
</resultMap>
<select id="getOrder" resultMap="orderMap">
SELECT *
FROM orders
WHERE order_id = #{orderId}
</select>
示例代碼如下:
<!-- Order的映射文件 -->
<resultMap id="orderMap" type="Order">
<id property="id" column="order_id"/>
<!-- 其他屬性映射 -->
<collection property="orderItems" ofType="OrderItem" select="getOrderItemsByOrderId"/>
</resultMap>
<select id="getOrder" resultMap="orderMap">
SELECT *
FROM orders
WHERE order_id = #{orderId}
</select>
<select id="getOrderItemsByOrderId" resultType="OrderItem">
SELECT *
FROM order_items
WHERE order_id = #{orderId}
</select>
以上是MyBatis中實現一對多嵌套查詢的兩種方法,可以根據具體需求選擇適合的方法來實現。