mybatis高階查詢 一對一 多對一

2021-09-29 08:39:40 字數 2678 閱讀 4536

mybatis使用標籤

:一的一方配置標籤  對應返回值單個實體

:多的一方配置:標籤       對應返回值集合

根據實體類的定義,如果是屬性集合就配置,如果返回的資料是乙個實體的就配置

多表查詢時,需要乙個實體類多個表的資料.那麼需要將表與表的關係,也要反應在實體類與實體類之間的關係.

配置一條資料的一方,使用實體類的引用

配置多條資料的一方,使用list集合

位址表

public class address 

public void setstudent(student student)

public string getaname()

public void setaname(string aname)

public integer getaid()

public void setaid(integer aid)

}

學生表

public class student 

public void setcourses(listcourses)

public address getaddress()

public void setaddress(address address)

public integer getsid()

public void setsid(integer sid)

public integer getaid()

public void setaid(integer aid)

public string get***()

public void set***(string ***)

public date getbirthday()

public void setbirthday(date birthday)

public integer getage()

public void setage(integer age)

public string getsname()

public void setsname(string sname)

}

課程表

public class course 

public void setcid(integer cid)

public integer getsid()

public void setsid(integer sid)

public integer gettid()

public void settid(integer tid)

public string getcoursename()

public void setcoursename(string coursename)

}

介面**

/*** 查詢所有的學生資訊,幷包括位址資訊

* @return

*/listfindstudentandaddress();

/*** 查詢所有的學生資訊,幷包括位址資訊

* @return

*/listfindstudentandaddress1();

/*** 查詢學生的資訊,包括學生選擇的課程

* @return

*/listfindstudentandcourse();

/*** 查詢多個個表,將資料放在map裡面

* @return

*/list> findstudentandcoursetomap(); }

對映檔案**

<?xml version="1.0" encoding="utf-8"?>

select * from student s,address a where s.aid=a.aid

select * from student

select * from student

select * from course where sid=#

select * from student s,course c where s.sid=c.sid

測試

@test

public void findstudentandaddress()

}@test

public void findstudentandaddress1()

}@test

public void findstudentandcourse()}}

@test

public void findstudentandcoursetomap()

}}對映檔案**

<?xml version="1.0" encoding="utf-8"?>

select * from student s,address a where s.aid=a.aid

select * from student

select * from student

select * from course where sid=#

select * from student s,course c where s.sid=c.sid

MySQL關係 一對多 一對一 多對多

將實體與實體的關係,反應到最終資料庫表的設計上,將關係分為三種 一對一,一對多 多對一 和多對多,所有的關係都是表與表之間的關係 一對一 一對一 一張表的一條記錄只能與另外一條記錄進行對應,反之亦然 id p 姓名 性別 年齡 身高 婚姻狀況 籍貫 家庭位址 緊急聯絡人 體重 表設計成以上這種形式 ...

mybatis 查詢一對一

官方文件 public inte ce user getuser intuserid public inte ce list getarticlebyuserid int userid 第一種方法 select a.article id,a.user id,a.title,a.content,a.c...

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

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