MYBATIS RESULTMAP的使用總結

2021-09-03 08:26:18 字數 2341 閱讀 2652

resultmap是mybatis最強大的元素,它可以將查詢到的複雜資料(比如查詢到幾個表中資料)對映到乙個結果集當中。

resultmap包含的元素:

1 

2 3 4 5 6 7 8

9

10 11 12 13

14

如果collection標籤是使用巢狀查詢,格式如下:

以下以例項介紹resultmap的用法:一、簡單需求:乙個商品的結果對映;

1、建立商品pojo物件:

public class tshopsku  

/*** 主鍵id,

* @param id

*/public void setid(long id)

/*** 商品名

* @return sku_name 商品名

*/public string getskuname()

/*** 商品名

* @param skuname 商品名

*/public void setskuname(string skuname)

/*** 分類id

* @return category_id 分類id

*/public long getcategoryid()

/*** 分類id

* @param categoryid 分類id

*/public void setcategoryid(long categoryid)

對應的resultmap:

二、商品pojo類新增屬性集合:乙個商品會有一些屬性,現在需要將查詢出的商品屬性新增到商品物件中,首先需要在原商品pojo類的基礎上中新增屬性的集合:

/**

* 屬性集合

*/private listattributes;

/*** 獲得屬性集合

*/public listgetattributes()

/*** 設定屬性集合

* @param attributes

*/public void setattributes(listattributes)

將collection標籤新增到resultmap中,這裡有兩種方式:1、巢狀結果:

對應的resultmap:

查詢語句:

select s.id,s.sku_name,s.category_id,a.id,a.attribute_name

from t_shop_sku s,t_shop_attribute a

where s.id =a.sku_id and s.id = #;

2、關聯的巢狀查詢(在collection中新增select屬性):

商品結果集對映resultmap:

collection的select會執行下面的查詢屬性語句:

select a.id,s.attribute_name

from t_shop_attribute a

where a.id = #;

屬性結果集對映:

baseplusresultmap包含了屬性查詢語句的collection所以通過下面的查詢商品語句就可獲得商品以及其包含的屬性集合

select s.id,s.sku_name,s.category_id

from t_shop_sku s

where s.id = #;

VMWare Workstation使用總結幾則

1 安裝 使用ghost盤安裝時一定要注意,需要把空盤建立分割槽並設定為主分割槽 pq的使用形式,進入pq找到磁碟設定為啟用 否則 啟動後顯示boot from network intel e1000 有時裝機忘了,只能從頭再來 安裝64位的虛擬機器時,需要把bios中virtual technol...

VMWare Workstation使用總結幾則

1 安裝 使用ghost盤安裝時一定要注意,需要把空盤建立分割槽並設定為主分割槽 pq的使用形式,進入pq找到磁碟設定為啟用 否則 啟動後顯示boot from network intel e1000 有時裝機忘了,只能從頭再來 安裝64位的虛擬機器時,需要把bios中virtual technol...

pytest parametrize 使用總結

pytest中裝飾器 pytest.mark.parametrize 引數名 list 可以實現測試用例引數化,類似ddt。如 pytest.mark.parametrize 請求方式,介面位址,傳參,預期結果 get www.baidu.com post www.baidu.com pytest....