在后端開(kāi)發(fā)中岭参,有時(shí)候在某個(gè)實(shí)體類下有另一個(gè)實(shí)體類的單個(gè)對(duì)象作為屬性或者那個(gè)對(duì)象的list作為屬性驳概,如果需要在查出來(lái)那個(gè)實(shí)體后還要再跑一遍mapper層,多少會(huì)影響性能能岩,所以就有了一對(duì)一和一對(duì)多這寫(xiě)法募强,直接在<resultMap>標(biāo)簽塊里加個(gè)標(biāo)簽就能一次性查好了
一對(duì)一
一般條件下的一對(duì)一只需要帶個(gè)id過(guò)去就行了株灸,所以一般情況下的一對(duì)一寫(xiě)法是這樣的
<resultMap id = "" type = "" >
<id ........>
<result ......>
<association property = "實(shí)體類中對(duì)象名" column = "調(diào)用的查詢的參數(shù)字段表中名" select = "所要調(diào)用的mapper完整路徑加名字.調(diào)用的查詢(如果是本類則只需要寫(xiě)查詢名)" />
</reultMap>
如果是沒(méi)有能調(diào)用的查詢,直接左右內(nèi)連接查出來(lái)的數(shù)據(jù)擎值,則是這么寫(xiě)
<resultMap id = "" type = "" >
<id ........>
<result ......>
<association property = "實(shí)體類中對(duì)象名" javaType = >
<id property = "對(duì)象屬性名" column = "查詢條件中名字(可能為別稱)">
<result property = "對(duì)象屬性名" column = "查詢條件中名字(可能為別稱)">
.......
</association>
</reultMap>
<!-- 這種情況下是有內(nèi)外連接時(shí)使用 -->
嵌套調(diào)用別的resultmap的用法
<association property = "實(shí)體類中對(duì)象名" resultMap = "調(diào)用的resultMap名">
<!-- 暫不知道是否能拿別的mapper的resultmap -->
一對(duì)多
類似一對(duì)一的第一個(gè)寫(xiě)法
<collection property = "實(shí)體類中對(duì)象名" column = "帶到查詢中的參數(shù)表中名" select = "所要調(diào)用的mapper完整路徑加名字.調(diào)用的查詢" />