如果你搜尋只是返回乙個值,比如說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...