資料物件含有普通屬性,一對一物件,一對多物件(2種情況:單一主鍵和復合主鍵)
下面是resultmap的定義:
普通屬性省略說明
一對一屬性productioncompany
一對多屬性goodsnutrientlist(復合主鍵,返回的複雜物件內有資料)
一對多屬性liquorgoodscciclist(復合主鍵,返回的複雜物件內沒有資料)
一對多屬性projectgoodslist(單一主鍵,返回的複雜物件內有資料)
select
m_goods_nutrient.*
from m_goods_nutrient
m_goods_nutrient.goods_cd = #
and m_goods_nutrient.del_*** = '0'
select
m_liquorgoods_ccic.*
from m_liquorgoods_ccic
m_liquorgoods_ccic.goods_cd = #
and m_liquorgoods_ccic.del_*** = '0'
select
t_project_goods.*
from t_project_goods
t_project_goods.goods_cd = #
and t_project_goods.del_*** = '0'
select
m_goods.*,
m_production_company.*,
now() as select_time
from m_goods
left join
m_production_company
on m_goods.production_company_cd = m_production_company.production_company_cd
and m_production_company.del_*** = '0'
where
m_goods.goods_cd = #
and m_goods.del_*** = '0'
通過findbyprimarykey方法獲取普通屬性和1對1物件屬性
通過getgoodsnutrient方法獲取1對多復合主鍵的屬性,注意返回型別的配置為resultmap=「goodsnutrientresultmap」(返回的物件的list屬性內有資料)
通過getliquorgoodsccic方法獲取1對多復合主鍵的屬性,此處的返回型別為 resulttype=「trade.db.model.liquorgoodsccic」(返回的物件的list屬性內沒有資料)
通過getprojectgoods方法獲取1對多單一主鍵的屬性,此處的返回型別為resulttype=「trade.db.model.projectgoods」(返回的物件的list屬性內有資料)
model**:
public class goodsmodelcustomize extends goods
public void setproductioncompany(productioncompany productioncompany)
/*** 商品栄養成分
*/private listgoodsnutrientlist;
public listgetgoodsnutrientlist()
public void setgoodsnutrientlist(listgoodsnutrientlist)
/*** 酒類商品ccic
*/private listliquorgoodscciclist;
public listgetliquorgoodscciclist()
public void setliquorgoodscciclist(listliquorgoodscciclist)
/*** 專案商品列表
*/private listprojectgoodslist;
public listgetprojectgoodslist()
public void setprojectgoodslist(listprojectgoodslist)
}
普通屬性繼承與goods**省略,上述屬性productioncompany,goodsnutrientlist和projectgoodslist有資料,但是liquorgoodscciclist沒有資料
因此,當返回物件內有1對多的list屬性,同時此list為復合主鍵的話,推薦使用resultmap來對返回資料對映。
Mybatis複雜resultMap之聚合巢狀
select id queryprojecttaskvobyid resultmap projecttaskvo select from nst project task where id select select id selectdailyreportbytaskid resultmap da...
MyBatis核心物件
sqlsessionfactory 對象的例項為核心 sqlsessionfactorybuilder物件來獲得 xml 配置檔案,或從 configuration 類的習慣準備的例項中構建 sqlsessionfactory 物件。sqlsession 物件完全包含以資料庫為背景的所有執行 sql...
mybatis進擊六 mybatis的物件管理體系
目錄 一 結構化資料轉換成bean 二 mybatis的物件結構 三 應用 mybatis是如何將查詢到的資料自動轉換成物件呢?1 可以使用利用map 或 json字串,橋接著轉成bean物件 2 利用反射 newinstance 然後一一賦值 mybatis不是簡單的使用反射初始化,而是進行了精心...