1. 程式人生 > >[轉]MyBatis中resultType與resultMap區別

[轉]MyBatis中resultType與resultMap區別

作用 進一步 sel 存在 其中 對象 直接 model ati

MyBatis中關於resultType和resultMap的具體區別如下:

MyBatis中在查詢進行select映射的時候,返回類型可以用resultType,也可以用resultMap。
resultType是直接表示返回類型的(對應著我們的model對象中的實體);
resultMap則是對外部ResultMap的引用(提前定義了db和model之間的隱射key-->value關系);
resultType跟resultMap不能同時存在。

在MyBatis進行查詢映射時,其實查詢出來的每一個屬性都是放在一個對應的Map裏面的,其中鍵是列名,值則是其對應的值。
1.當提供的返回類型屬性是resultType時,MyBatis會將Map裏面的鍵值對取出賦給resultType所指定的對象對應的屬性。所以其實MyBatis的每一個查詢映射的返回類型都是ResultMap,只是當提供的返回類型屬性是resultType的時候,MyBatis會自動把對應的值賦給resultType所指定對象的屬性。
2.當提供的返回類型是resultMap時,因為Map不能很好表示領域模型,就需要自己再進一步的把它轉化為對應的對象,這常常在復雜查詢中很有作用。

[轉]MyBatis中resultType與resultMap區別