MyBatis 一對多雙向關聯查詢

2021-06-28 09:49:35 字數 4915 閱讀 1719

一、為teacher實體增加相關屬性

為教師實體增加指導學生集合的屬性如下:

1

privatelistsupstudents;//指導學生

並為其增加setter和getter方法,這裡略過。

為實現教師實體對映,應先建立對映器介面如下:

1

2

3

4

5

package

importcom.abc.domain.teacher;

publicinte***ce

publicteacher getbyid(intid);

}

三、對映檔案

為教師實體建立的對映檔案如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

<?xmlversion="1.0"encoding="utf8"?>

<namespace=>

查詢教師及其指導的學生的資訊。由於教師、學生都有

id、name、gender等屬性,因此給教師的字段都起了別名-->

<selectid="getbyid"parametertype="int"resultmap="supervisorresultmap">

select t.id t_id, t.name t_name, t.gender t_gender,

t.research_area t_research_area, t.title t_title,

s.id,s.name, s.gender,s.major,s.grade

from teacher t,student s where t.id=#

and s.supervisor_id = t.id

<resultmapid="supervisorresultmap"type="teacher">

<idproperty="id"column="t_id"/>

<resultproperty="name"column="t_name"/>

<resultproperty="gender"column="t_gender"/>

<resultproperty="researcharea"column="t_research_area"/>

<resultproperty="title"column="t_title"/>

<collectionproperty="supstudents"

resultmap=/>

相應地,學生實體的對映檔案如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

<?xmlversion="1.0"encoding="utf8"?>

<namespace=>

<resultmapid="studentresultmap"type="student">

<idproperty="id"column="id"/>

<resultproperty="name"column="name"/>

<resultproperty="gender"column="gender"/>

<resultproperty="major"column="major"/>

<resultproperty="grade"column="grade"/>

<associationproperty="supervisor"

resultmap=/>

四、通過spring註解的方式

Hibernate關聯查詢 一對多雙向關聯

dept實體類 public class dept public void setemps setemps private setemps new hashset public integer getdeptno public void setdeptno integer deptno public...

Mybatis關聯查詢(一對一,一對多)

複雜查詢時,單錶對應的po類已不能滿足輸出結果集的對映。所以要根據需求建立乙個擴充套件類來作為resulttype的型別。擴充套件類 association的使用 需要在本類中新增字段如下 resulttype 使用resulttype實現較為簡單,如果pojo中沒有包括查詢出來的列名,需要增加列名...

mybatis詳解 關聯查詢 一對一 一對多(5)

商品訂單模型 需求 查詢所有訂單資訊,關聯查詢下單使用者資訊。注意 乙個使用者可以有多個訂單資訊,乙個訂單只能對應乙個使用者 方法1 使用resulttype 使用resulttype,改造訂單pojo類,此pojo類中包括了訂單資訊和使用者資訊 這樣返回物件的時候,mybatis自動把使用者資訊也...