mybatis 調(diào)用存儲過程返回結(jié)果集 resultmap和resulttype區(qū)別和應(yīng)用?
resultmap和resulttype區(qū)別和應(yīng)用?resultmap與resulttype的區(qū)別為:對象相同、具體描述相同、類型區(qū)分有所不同一、對象完全不同1、resultmap:resultMap
resultmap和resulttype區(qū)別和應(yīng)用?
resultmap與resulttype的區(qū)別為:對象相同、具體描述相同、類型區(qū)分有所不同
一、對象完全不同
1、resultmap:resultMap如果去查詢出的列名和pojo的屬性名不符,是從定義一個resultMap對表名和pojo屬性名之間作一個映射出關(guān)系。
2、resulttype:resultType可以使用resultType通過輸出映射,只有一網(wǎng)站查詢出去的列名和pojo中的屬性名一致,該列才這個可以映射成功。
二、具體解釋有所不同
1、resultmap:resultMap這對一對一表直接連接的處理大多為在主表的pojo中先添加循環(huán)嵌套另一個表的pojo,然后把在mapper.xml中常規(guī)association節(jié)點元素接受對另一個表的連接處理。
2、resulttype:resultType無法去查詢結(jié)果映射到pojo對象的pojo屬性中,依據(jù)什么對結(jié)構(gòu)集查詢遍歷的需要中,選擇在用resultType還是resultMap。
三、類型區(qū)分完全不同
1、resultmap:mybatis中在去查詢參與select映射的時候,前往類型也可以用resultType,也是可以用resultMap。
2、resulttype:resultType是就可以表示趕往類型的,而resultMap則是對外部ResultMap的摘錄,但是resultType跟resultMap不能同時未知。
怎么設(shè)置sqlStatementName和resultType屬?
MyBatis中在去查詢參與select映射的時候,回類型是可以用resultType,也可以不用resultMap,resultType是再表示回類型的,而resultMap則是對外部ResultMap的摘錄,只不過resultType跟resultMap不能不能而存在地。在MyBatis參與查詢映射時,當然網(wǎng)上查詢進去的每一個屬性都是裝在一個對應(yīng)的Map里面的,其中鍵是屬性名,值則是其對應(yīng)的值。
①當能提供的返回類型屬性是resultType時,MyBatis會將Map里面的鍵值對木盒賦給resultType所更改的對象對應(yīng)的屬性。因為其實MyBatis的每一個查詢映射的返回類型全是ResultMap,僅僅當提供的返回類型屬性是resultType的時候,MyBatis對自動啟動的給把對應(yīng)的值賦給resultType所重新指定對象的屬性。
②當能提供的返回類型是resultMap時,而且Map不能非常好可以表示領(lǐng)域模型,就必須自己再一系列的把它轉(zhuǎn)化成為不對應(yīng)的對象,這常常覺得在古怪查詢中很有作用。