MyBatis關聯元素(association)處理“有一個”類型的關係(關聯的嵌套結果、關聯的嵌套查詢)

有兩種方法處理這種問題:

      1、關聯的嵌套查詢

      2、關聯的嵌套結果

網上關於這兩個方法的詳細使用方法和示例有很多,讀者可自行上網搜索,推薦文檔,在這裏就不詳細講解。

在這裏我主要是講一下第一種方法中使用時注意的一個問題:

示例:(引用來自推薦的文章裏)

<resultMap id="blogResult" type="Blog">
  <association property="author" column="author_id" javaType="Author" select="selectAuthor"/>
</resultMap>

<select id="selectBlog" resultMap="blogResult">
  SELECT * FROM BLOG WHERE ID = #{id}
</select>

<select id="selectAuthor" resultType="Author">
  SELECT * FROM AUTHOR WHERE ID = #{id}
</select>

       以上示例中背景爲紅色的部分 ID=#{id}中id應該是數據庫表格中查詢出來的列的名稱還是Author對象的屬性名稱呢?起初我對於這個問題也是不知道,後來經過試驗,id選填列名稱和Author對象id的屬性名稱都行。出現這樣的結果,也不知道是我的程序壞了,還是真的兩個名稱都行。因爲本人對mybatis理解較爲淺顯,如果有路過的大神知道是我的程序錯了或者內部原因,歡迎賜教。







發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章