敏捷是一條很長(zhǎng)的路,摸索著前進(jìn)著
主表:MASTER
字段:ORDER_ID --主鍵
RELATE_ID --申請(qǐng)單位
STOCK_ADDRESS --倉(cāng)庫(kù)地址
TERMINAL_VENDER --供應(yīng)商
PROVINCE_ID --省分ID
STATE --狀態(tài)
子表:DETAIL
字段:ORDER_ID --與主表ORDER_ID關(guān)聯(lián)
PROPERTY_CODE --屬性編碼
SALE_PRICE --價(jià)格
TERMINAL_VENDER --供應(yīng)商 與主表TERMINAL_VENDER關(guān)聯(lián)
PROVINCE_ID --省分ID 與主表PROVINCE_ID關(guān)聯(lián)
主鍵為 ORDER_ID + PROPERTY_CODE
要求,取得 主表:MASTER 中STATE為1的記錄,并映射成易于操作的java對(duì)象。
并關(guān)聯(lián)子表,ORDER_ID、TERMINAL_VENDER、PROVINCE_ID作為查詢子表的條件。
將查詢出的子表數(shù)據(jù)映射成List<Object> ,作為 主表映射成對(duì)象的一個(gè) 成員變量。
以便后續(xù)操作。
定義java對(duì)象 Master,對(duì)應(yīng)主表數(shù)據(jù):
定義Detail類,對(duì)應(yīng)子表數(shù)據(jù):
這樣所有的工作都OK,
執(zhí)行
List<Master> masters = (List<Master>) sqlMap.queryForList("selectData", param);
// param 為HashMap, put("PROVINCE_ID", "BJ"); 作為查詢條件用。
得到 List<Master>,其中每個(gè)Master對(duì)象,都會(huì)持有 List<Detail>。
要點(diǎn)在于
<result property="details" column= "{province=PROVINCE_CODE,id=ORDER_ID,VENDER=TERMINAL_VENDER}" select="select-dtl" />
的配置,
即 將主表中的值傳到 子查詢當(dāng)中作為查詢條件,
這樣取得的數(shù)據(jù)就是 有關(guān)系的了。 本文為原創(chuàng),歡迎轉(zhuǎn)載,轉(zhuǎn)載請(qǐng)注明出處BlogJava。
Powered by: BlogJava Copyright © 李 明