




版權(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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 農(nóng)村林地資源利用與林業(yè)開發(fā)合同
- 產(chǎn)品加工買賣合同
- 資料員年度工作總結(jié)范文(30篇)
- 合作社幫扶農(nóng)民合作社互助合作協(xié)議
- 宜賓五糧液股份有限公司2025年上半年校園招聘(253人)筆試參考題庫附帶答案詳解
- 2025鄂爾多斯市準格爾黃河大峽谷文化旅游有限公司招聘24人筆試參考題庫附帶答案詳解
- 2025福建福州市建筑設(shè)計院有限責任公司招聘22人筆試參考題庫附帶答案詳解
- 2025江蘇蘇州市蘇惠優(yōu)達供應(yīng)鏈管理有限公司緊急招聘4人筆試參考題庫附帶答案詳解
- 2025山西國際能源集團社會招聘258人筆試參考題庫附帶答案詳解
- 2025安徽蕪湖宜居投資(集團)有限公司子公司人員招聘10人筆試參考題庫附帶答案詳解
- 2025年下半年山東濰坊市工程技師學院招聘事業(yè)單位控制總量教師35人易考易錯模擬試題(共500題)試卷后附參考答案
- 部編版語文四年級下冊 26《寶葫蘆的秘密》整本書教學設(shè)計
- 《高血壓疾病診斷與治療》課件
- 2025年轉(zhuǎn)租的房屋租賃合同范本
- 2025阿里地區(qū)改則縣輔警考試試卷真題
- 喀什地區(qū)兩級法院機關(guān)招聘聘用制書記員筆試真題2024
- 智慧樹知到《形勢與政策(北京大學)》2025春期末考試附答案
- 2025年廣東省廣州市增城區(qū)中考一模英語試題(含答案)
- 2024年武漢農(nóng)村商業(yè)銀行股份有限公司招聘考試真題
- 河北省唐山市、廊坊市2025屆高三第二次模擬演練語文試卷(含答案)
- 預(yù)防性侵害安全教育
評論
0/150
提交評論