resultMap 和resultType的區別

2021-09-21 18:28:42 字數 941 閱讀 4902

如果你搜尋只是返回乙個值,比如說string ,或者是int,那你直接用resulttype就行了。

但是你如果是返回乙個複雜的物件,就必須定義好這個物件的resultmap的result map。

舉個例子吧,例子以ibatis為例:

你有個user 物件, 擁有兩個欄位id,name。

1.你要獲取id為123的name

string name = (string) queryforobject("getusernamebyid", id);

select name from user where id =#id#

2.你要獲取整個user物件

user user = (user) queryforobject("getuserbyid", id);

map class="包.user" id="user">

select id,name from user where id =#id# 追問

但是,resulttype 也可以返回乙個物件 

select * from user where id =#id#

也可以返回乙個封裝的物件啊

這個跟resultmap是一樣的效果

那什麼時候是用resulttype解決不了的呢?只能用resultmap

追答

你要是反回這個物件用result type,就必須返回這個物件所有資訊了,而且沒有任何設定,適用用普通的完整返回。

但你用resultmap,因為resultmap,因為resultmap那段是我們自己指定的,可能指定的屬性只是user的一部分,而且還可以設定預設值,這是result type做不到的:

resultmap裡面只定義 name

select name from user where id =#id#

resultType和resultMap的區別

在使用mybatis進行資料庫連線操作時對於sql語句返回結果的處理通常有兩種方式,一種就是resulttype另一種就是resultmap,下面說下我對這兩者的認識和理解 resulttype 當使用resulttype做sql語句返回結果型別處理時,對於sql語句查詢出的字段在相應的pojo中必...

resultType和resultMap的描述

resulttype 返回值的型別 一條記錄轉換後的欸寫可以選擇vo,map或者基本資料型別 resultmap標記,高階表及,作用是將查詢結果與vo物件作對映 即將查詢出來的字段與物件中的屬性做乙個對映 resultmap id type id 此結果對映的唯一標記 type 被對映的型別 id ...

resultType和resultMap的使用場景

resulttype 作用 將查詢結果按照sql列名pojo屬性名一致性對映到pojo中。場合 常見一些明細記錄的展示,比如使用者購買商品明細,將關聯查詢資訊全部展示在頁面時,此時可直接使用resulttype將每一條記錄對映到pojo中,在前端頁面遍歷list list中是pojo 即可。resu...