數(shù)據(jù)庫(kù)表之間的4中典型關(guān)系包括一對(duì)一、一對(duì)多、多對(duì)一、多對(duì)多。之前我們使用Mapper XML建立過(guò)一對(duì)一的關(guān)系。關(guān)系模型如下:
今天小博老師給大家介紹一下使用注解,如何實(shí)現(xiàn)一對(duì)一的關(guān)系映射。關(guān)系模型仍然是User和Gendar的關(guān)系。User中有一個(gè)Gendar的實(shí)例,數(shù)據(jù)庫(kù)表中,User表有一個(gè)gendarId字段:
我們先寫(xiě)一個(gè)Gendar的Mapper接口,實(shí)現(xiàn)根據(jù)id查詢(xún)Gendar實(shí)例:
然后我們?cè)賹?duì)User的Mapper接口進(jìn)行修改:
在@Results中增加一個(gè)gender屬性的映射關(guān)系,需要注意的是紅色部分標(biāo)識(shí)內(nèi)容。
@one指的是一對(duì)一關(guān)系,這里的select的值指向了Gendar Mapper接口定義的函數(shù),可以通過(guò)gendarId實(shí)例化Gendar對(duì)象。
測(cè)試代碼如下:
能夠自動(dòng)查詢(xún)出gendar對(duì)象性別