MyBatis圖文并茂講解注解開發(fā)一對一查詢_第1頁
MyBatis圖文并茂講解注解開發(fā)一對一查詢_第2頁
MyBatis圖文并茂講解注解開發(fā)一對一查詢_第3頁
MyBatis圖文并茂講解注解開發(fā)一對一查詢_第4頁
MyBatis圖文并茂講解注解開發(fā)一對一查詢_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

第MyBatis圖文并茂講解注解開發(fā)一對一查詢目錄MyBatis的注解實現(xiàn)復(fù)雜映射開發(fā)一對一查詢一對一查詢的模型一對一查詢的語句創(chuàng)建PersonMapper接口使用注解配置Mapper測試類一對一配置總結(jié)

MyBatis的注解實現(xiàn)復(fù)雜映射開發(fā)

實現(xiàn)復(fù)雜關(guān)系映射之前我們可以在映射文件中通過配置來實現(xiàn),使用注解開發(fā)后,我們可以使用@Results注解,@Result注解,@One注解,@Many注解組合完成復(fù)雜關(guān)系的配置

一對一查詢

一對一查詢的模型

一對一查詢的需求:查詢一個用戶信息,與此同時查詢出該用戶對應(yīng)的身份證信息

一對一查詢的語句

創(chuàng)建數(shù)據(jù)庫:

------------------------------

--Tablestructureforcard

------------------------------

DROPTABLEIFEXISTS`card`;

CREATETABLE`card`(

`id`int(11)NOTNULLAUTO_INCREMENT,

`number`varchar(30)CHARACTERSETutf8mb4COLLATEutf8mb4_unicode_ciNULLDEFAULTNULL,

`pid`int(11)NULLDEFAULTNULL,

PRIMARYKEY(`id`)USINGBTREE,

INDEX`cp_fk`(`pid`)USINGBTREE

)ENGINE=MyISAMAUTO_INCREMENT=4CHARACTERSET=utf8mb4COLLATE=utf8mb4_unicode_ciROW_FORMAT=Dynamic;

------------------------------

--Recordsofcard

------------------------------

INSERTINTO`card`VALUES(1,'12345',1);

INSERTINTO`card`VALUES(2,'23456',2);

INSERTINTO`card`VALUES(3,'34567',3);

------------------------------

--Tablestructureforclasses

------------------------------

DROPTABLEIFEXISTS`classes`;

CREATETABLE`classes`(

`id`int(11)NOTNULLAUTO_INCREMENT,

`NAME`varchar(20)CHARACTERSETutf8mb4COLLATEutf8mb4_unicode_ciNULLDEFAULTNULL,

PRIMARYKEY(`id`)USINGBTREE

)ENGINE=MyISAMAUTO_INCREMENT=3CHARACTERSET=utf8mb4COLLATE=utf8mb4_unicode_ciROW_FORMAT=Dynamic;

------------------------------

--Recordsofclasses

------------------------------

INSERTINTO`classes`VALUES(1,'極地一班');

INSERTINTO`classes`VALUES(2,'極地二班');

------------------------------

--Tablestructureforcourse

------------------------------

DROPTABLEIFEXISTS`course`;

CREATETABLE`course`(

`id`int(11)NOTNULLAUTO_INCREMENT,

`NAME`varchar(20)CHARACTERSETutf8mb4COLLATEutf8mb4_unicode_ciNULLDEFAULTNULL,

PRIMARYKEY(`id`)USINGBTREE

)ENGINE=MyISAMAUTO_INCREMENT=3CHARACTERSET=utf8mb4COLLATE=utf8mb4_unicode_ciROW_FORMAT=Dynamic;

------------------------------

--Recordsofcourse

------------------------------

INSERTINTO`course`VALUES(1,'語文');

INSERTINTO`course`VALUES(2,'數(shù)學');

------------------------------

--Tablestructureforperson

------------------------------

DROPTABLEIFEXISTS`person`;

CREATETABLE`person`(

`id`int(11)NOTNULLAUTO_INCREMENT,

`NAME`varchar(20)CHARACTERSETutf8mb4COLLATEutf8mb4_unicode_ciNULLDEFAULTNULL,

`age`int(11)NULLDEFAULTNULL,

PRIMARYKEY(`id`)USINGBTREE

)ENGINE=MyISAMAUTO_INCREMENT=4CHARACTERSET=utf8mb4COLLATE=utf8mb4_unicode_ciROW_FORMAT=Dynamic;

------------------------------

--Recordsofperson

------------------------------

INSERTINTO`person`VALUES(1,'張三',23);

INSERTINTO`person`VALUES(2,'李四',24);

INSERTINTO`person`VALUES(3,'王五',25);

------------------------------

--Tablestructureforstu_cr

------------------------------

DROPTABLEIFEXISTS`stu_cr`;

CREATETABLE`stu_cr`(

`id`int(11)NOTNULLAUTO_INCREMENT,

`sid`int(11)NULLDEFAULTNULL,

`cid`int(11)NULLDEFAULTNULL,

PRIMARYKEY(`id`)USINGBTREE,

INDEX`sc_fk1`(`sid`)USINGBTREE,

INDEX`sc_fk2`(`cid`)USINGBTREE

)ENGINE=MyISAMAUTO_INCREMENT=5CHARACTERSET=utf8mb4COLLATE=utf8mb4_unicode_ciROW_FORMAT=Fixed;

------------------------------

--Recordsofstu_cr

------------------------------

INSERTINTO`stu_cr`VALUES(1,1,1);

INSERTINTO`stu_cr`VALUES(2,1,2);

INSERTINTO`stu_cr`VALUES(3,2,1);

INSERTINTO`stu_cr`VALUES(4,2,2);

------------------------------

--Tablestructureforstudent

------------------------------

DROPTABLEIFEXISTS`student`;

CREATETABLE`student`(

`id`int(11)NOTNULLAUTO_INCREMENT,

`NAME`varchar(30)CHARACTERSETutf8mb4COLLATEutf8mb4_unicode_ciNULLDEFAULTNULL,

`age`int(11)NULLDEFAULTNULL,

`cid`int(11)NULLDEFAULTNULL,

PRIMARYKEY(`id`)USINGBTREE,

INDEX`cs_fk`(`cid`)USINGBTREE

)ENGINE=MyISAMAUTO_INCREMENT=5CHARACTERSET=utf8mb4COLLATE=utf8mb4_unicode_ciROW_FORMAT=Dynamic;

------------------------------

--Recordsofstudent

------------------------------

INSERTINTO`student`VALUES(1,'張三',23,1);

INSERTINTO`student`VALUES(2,'李四',24,1);

INSERTINTO`student`VALUES(3,'王五',25,2);

INSERTINTO`student`VALUES(4,'趙六',26,2);

SETFOREIGN_KEY_CHECKS=1;

對應(yīng)的sql語句:

SELECT*FROMcard;

SELECT*FROMpersonWHEREid=#{id};

創(chuàng)建PersonMapper接口

publicinterfacePersonMapper{

//根據(jù)id查詢

@Select("SELECT*FROMpersonWHEREid=#{id}")

publicabstractPersonselectById(Integerid);

}

使用注解配置Mapper

publicinterfaceCardMapper{

//查詢?nèi)?/p>

@Select("SELECT*FROMcard")

@Results({

@Result(column="id",property="id"),

@Result(column="number",property="number"),

@Result(

property="p",//被包含對象的變量名

javaType=Person.class,//被包含對象的實際數(shù)據(jù)類型

column="pid",//根據(jù)查詢出的card表中的pid字段來查詢person表

one、@One一對一固定寫法

select屬性:指定調(diào)用哪個接口中的哪個方法

one=@One(select="com.yyl.one_to_one.PersonMapper.selectById")

publicabstractListCardselectAll();

}

測試類

publicclassTest01{

@Test

publicvoidselectAll()throwsException{

//1.加載核心配置文件

InputStreamis=Resources.getResourceAsStream("MyBatisConfig.xml");

//2.獲取SqlSession工廠對象

SqlSessionFactorysqlSessionFactory=newSqlSessionFactoryBuilder().build(is);

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論