溫馨提示×

MyBatis中Collection映射的實現(xiàn)方式

小樊
179
2024-08-09 22:45:38
欄目: 編程語言

在MyBatis中,Collection映射通常使用<collection>標簽來實現(xiàn)。該標簽可用于映射Java集合類型(如List、Set、Map)與數(shù)據(jù)庫中的多條記錄之間的關(guān)系。

以下是一個示例,演示如何使用<collection>標簽來映射一個List集合:

<resultMap id="userMap" type="User">
    <id property="id" column="id"/>
    <result property="name" column="name"/>
    <collection property="orders" ofType="Order">
        <id property="orderId" column="order_id"/>
        <result property="orderName" column="order_name"/>
    </collection>
</resultMap>

<select id="getUserById" resultMap="userMap">
    SELECT u.id, u.name, o.order_id, o.order_name
    FROM users u
    LEFT JOIN orders o ON u.id = o.user_id
    WHERE u.id = #{id}
</select>

在上面的示例中,<collection>標簽用于映射User對象中的orders屬性,orders屬性是一個List集合。ofType屬性指定了集合中元素的類型,這樣MyBatis就知道如何將數(shù)據(jù)庫中的記錄轉(zhuǎn)換為Order對象。

以上是一個簡單的示例,實際應(yīng)用中可能會有更復雜的情況,需要根據(jù)具體需求來配置<collection>標簽。需要注意的是,在使用<collection>標簽時,需要確保SQL查詢語句能夠正確地獲取到集合中需要的數(shù)據(jù)。

0