溫馨提示×

MyBatis集合如何操作

小樊
83
2024-08-08 09:29:45
欄目: 編程語言

MyBatis 中可以通過以下方式操作集合:

  1. 使用 resultMap 定義集合映射關(guān)系,將查詢結(jié)果映射到集合對象中。
<resultMap id="userMap" type="User">
    <result property="id" column="id"/>
    <result property="name" column="name"/>
</resultMap>

<select id="selectUsers" resultMap="userMap">
    select id, name from user
</select>
  1. 使用 collection 元素定義集合對象的映射關(guān)系。
<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="selectUsers" resultMap="userMap">
    select u.id, u.name, o.order_id, o.order_name
    from user u
    left join order o on u.id = o.user_id
</select>
  1. 使用 parameterType 定義輸入?yún)?shù)類型,傳遞集合對象到 SQL 語句中。
<update id="insertUsers" parameterType="java.util.List">
    insert into user (id, name) values
    <foreach collection="list" item="user" separator=",">
        (#{user.id}, #{user.name})
    </foreach>
</update>

通過以上方式,可以方便地操作集合對象,并將查詢結(jié)果映射到集合對象中,或者將集合對象傳遞到 SQL 語句中進行操作。

0