mybatis三表關(guān)聯(lián)查詢 mybatis聯(lián)合多表查詢r(jià)esulttype怎么寫?
mybatis聯(lián)合多表查詢r(jià)esulttype怎么寫?mybatis中resulttype和resultmap之間的差異在mybatis中選擇和映射查詢時(shí),返回類型可以是resulttype或resu
mybatis聯(lián)合多表查詢r(jià)esulttype怎么寫?
mybatis中resulttype和resultmap之間的差異
在mybatis中選擇和映射查詢時(shí),返回類型可以是resulttype或resultmap。Resulttype直接表示返回類型(對(duì)應(yīng)于我們模型對(duì)象中的實(shí)體),resultmap表示外部resultmap(預(yù)先定義dB和模型之間的隱式鍵-->value關(guān)系),但是Resulttype和resultmap不能同時(shí)存在。
mybatis執(zhí)行查詢映射時(shí),實(shí)際上,查詢的每個(gè)屬性都放在相應(yīng)的映射中,其中鍵是屬性名稱,值是其對(duì)應(yīng)的值。
①當(dāng)提供的return type屬性為resulttype時(shí),mybatis會(huì)在map中取出key-value對(duì),賦給resulttype指定的對(duì)象的相應(yīng)屬性。因此,實(shí)際上,mybatis中每個(gè)查詢映射的返回類型都是resultmap。只有當(dāng)提供的返回類型屬性是resulttype時(shí),mybatis才會(huì)自動(dòng)將相應(yīng)的值賦給resulttype指定的對(duì)象的屬性。
②當(dāng)提供的返回類型為resultmap時(shí),由于map不能很好地表示域模型,我們需要進(jìn)一步將其轉(zhuǎn)換為相應(yīng)的對(duì)象,這在復(fù)雜的查詢中往往非常有用。