resultmap標(biāo)簽詳解 resultmap必須有id嗎?
resultmap必須有id嗎?一般來(lái)說(shuō),數(shù)據(jù)庫(kù)會(huì)有一個(gè)字段ID來(lái)表示數(shù)據(jù)的唯一性。前后平臺(tái)之間的數(shù)據(jù)交互:特別是對(duì)于數(shù)據(jù)更新,需要ID。如果沒(méi)有ID,則不知道要更新哪個(gè)數(shù)據(jù)記錄。此外,返回值resu
resultmap必須有id嗎?
一般來(lái)說(shuō),數(shù)據(jù)庫(kù)會(huì)有一個(gè)字段ID來(lái)表示數(shù)據(jù)的唯一性。
前后平臺(tái)之間的數(shù)據(jù)交互:特別是對(duì)于數(shù)據(jù)更新,需要ID。如果沒(méi)有ID,則不知道要更新哪個(gè)數(shù)據(jù)記錄。
此外,返回值result resultmap基于實(shí)際業(yè)務(wù)場(chǎng)景。當(dāng)mybatis用于數(shù)據(jù)庫(kù)連接操作時(shí),通常有兩種方法來(lái)處理SQL語(yǔ)句返回的結(jié)果,一種是resulttype,另一種是resultmap:
當(dāng)使用resulttype處理SQL語(yǔ)句返回的結(jié)果時(shí),SQL語(yǔ)句查詢(xún)的字段必須在相應(yīng)的POJO中具有與其對(duì)應(yīng)的相同字段,resulttype中的內(nèi)容是POJO在此項(xiàng)目中的位置。
因此,使用resulttype進(jìn)行單表查詢(xún)最為合適
使用resultmap處理SQL語(yǔ)句的返回結(jié)果類(lèi)型時(shí),通常需要使用映射器.xml定義resultmap以對(duì)應(yīng)POJO和相應(yīng)的表字段。
Resultmap通常通過(guò)將嵌套在另一個(gè)表中的POJO添加到主表的POJO來(lái)處理一對(duì)一的表聯(lián)接,然后添加嵌套在另一個(gè)表中的POJO映射器.xml關(guān)聯(lián)節(jié)點(diǎn)元素用于聯(lián)接另一個(gè)表
resultmap是對(duì)外部resultmap的引用(dB和model之間的隱式鍵-->value關(guān)系是預(yù)先定義的),但resulttype和resultmap不能同時(shí)鏈接。
ResultMap和ResultType在使用中的區(qū)別?
使用mybatis進(jìn)行數(shù)據(jù)庫(kù)連接操作時(shí),通常有兩種方法來(lái)處理SQL語(yǔ)句返回的結(jié)果:一種是resulttype,另一種是resultmap:1。Resulttype:當(dāng)使用Resulttype處理SQL語(yǔ)句返回的結(jié)果時(shí),SQL語(yǔ)句查詢(xún)到的字段必須在對(duì)應(yīng)的POJO中有與其對(duì)應(yīng)的字段,而Resulttype中的字段必須有與其對(duì)應(yīng)的字段,內(nèi)容是POJO在該項(xiàng)目中的位置。因此,對(duì)于單表查詢(xún),使用resulttype是最合適的。2Resultmap:在使用Resultmap處理SQL語(yǔ)句的返回結(jié)果類(lèi)型時(shí),通常需要使用映射器.xml定義resultmap以對(duì)應(yīng)POJO和相應(yīng)的表字段。Resultmap通常通過(guò)將嵌套在另一個(gè)表中的POJO添加到主表的POJO,然后添加嵌套在另一個(gè)表中的POJO來(lái)處理一對(duì)一的表聯(lián)接映射器.xml三。Resulttype直接表示返回類(lèi)型(對(duì)應(yīng)于我們模型對(duì)象中的實(shí)體),resultmap表示外部resultmap(預(yù)先定義的dB和Mo),但是Resulttype和resultmap不能同時(shí)存在。