溫馨提示×

MyBatis中怎么進行一對一關聯(lián)查詢

小億
87
2024-04-08 17:31:40
欄目: 編程語言

在MyBatis中進行一對一關聯(lián)查詢需要使用resultType標簽來映射查詢結果。以下是一個示例:

  1. 定義兩個實體類,例如User和Department,User類中包含一個Department屬性,表示用戶所屬部門。

  2. 編寫UserMapper.xml文件,定義一對一關聯(lián)查詢的SQL語句,并使用resultType標簽將查詢結果映射到User實體類中的Department屬性。

<!-- 查詢用戶信息及其所屬部門信息 -->
<select id="getUserWithDepartment" resultType="User">
    SELECT u.*, d.*
    FROM user u
    INNER JOIN department d ON u.department_id = d.id
    WHERE u.id = #{userId}
</select>
  1. 在UserMapper接口中定義getUserWithDepartment方法,方法參數(shù)為用戶id,并在方法上添加@Select注解來指定調(diào)用的SQL語句。
@Select("getUserWithDepartment")
User getUserWithDepartment(Long userId);
  1. 調(diào)用getUserWithDepartment方法進行查詢,并獲取查詢結果中的User對象,通過User對象的getDepartment方法獲取用戶所屬部門信息。
User user = userMapper.getUserWithDepartment(userId);
Department department = user.getDepartment();

這樣就完成了一對一關聯(lián)查詢,獲取了用戶信息及其所屬部門信息。

0