在MyBatis中,可以通過在ResultMap中使用association和collection標簽來實現關聯查詢。association用于一對一關系查詢,而collection用于一對多關系查詢。
以下是一個示例,演示如何在ResultMap中使用關聯查詢:
<!-- 定義一個ResultMap -->
<resultMap id="userResultMap" type="User">
<id property="id" column="id"/>
<result property="username" column="username"/>
<result property="email" column="email"/>
<!-- 使用association標簽進行關聯查詢 -->
<association property="department" javaType="Department">
<id property="id" column="department_id"/>
<result property="name" column="department_name"/>
</association>
</resultMap>
<!-- 定義一個查詢語句 -->
<select id="getUserById" resultMap="userResultMap">
SELECT u.id, u.username, u.email, d.id as department_id, d.name as department_name
FROM users u
JOIN departments d ON u.department_id = d.id
WHERE u.id = #{id}
</select>
在上面的示例中,定義了一個名為userResultMap的ResultMap,其中使用association標簽來關聯查詢用戶和部門信息。在查詢語句中,通過JOIN操作來連接users表和departments表,并通過department_id來關聯查詢用戶和部門信息。
通過這種方式,可以方便地在MyBatis中進行關聯查詢,從而獲取到相關聯的數據。