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....