Mybatis筆記(七) 多表查詢

2021-10-07 15:15:06 字數 1479 閱讀 6711

實現多表查詢的方法

resultmap屬性

使用resultmap屬性時,select標籤不寫resulttype屬性,而是使用resultmap屬性。

其中實體類為

資料庫中的變數為

!-- 主鍵使用id標籤配置對映關係 --

>

"id" property=

"id1"

/>

<

!-- 其他類使用result標籤配置對映關係 --

>

"name" property=

"name2"

/>

<

/resultmap>

"selall" resultmap=

"mymap"

>

select * from teacher

<

/select>

<

resultmap的n+1模式

"c.d"

>

<

!-- n+

1模式 --

>

"student" id=

"stumap"

>

"id" property=

"id"

/>

"name" property=

"name"

/>

"age" property=

"age"

/>

"tid" property=

"tid"

/>

<

!-- 關聯乙個物件 --

>

<

!-- column中為傳遞的屬性 --

>

"teacher" select=

"c.d.selbyid" column=

"tid"

>

<

/association>

<

/resultmap>

"selall" resultmap=

"stumap"

>

select * from student;

<

/select>

"selbyid" resulttype=

"teacher" parametertype=

"int"

>

select * from teacher where id = #

<

/select>

<

學習筆記 Mybatis多表查詢

public class employee select 這種方法會導致最後查詢出來的dept id因用於第二個表的對映,而顯示為null值。只能通過dept.id來獲取部門id 將多表資料全部查出來,然後手動對映resultmap 相對安全,推薦使用,基於效能考慮,員工要多一些,順帶把部門資訊查出...

mybatis多表查詢

mybatis多表查詢 1 表之間的關係用幾種 1 一對一 2 一對多 3 多對一 4 多對多 舉例 使用者和訂單就是多對一 訂單和使用者就是多對一 乙個使用者可以有多個訂單 多個訂單屬於乙個使用者 老師和學生就是多對多 乙個老師可以教多個學生 乙個學生可以被多個老師交過。特例 如果咋天就乙個訂單。...

Mybatis多表查詢

首先。我們需要知道,表與表之間存在的幾種關係 一對一 一對多 多對一 多對多舉例 班級與學生 class表 students表 建立兩個實體類 classs表 public class classs public classs string classid public intgetid publi...