高級映射-多對多查詢

1.需求
查詢用戶及用戶購買商品信息

2.思路

  • 將用戶信息映射到user中蒋譬。
  • 在UserBean類中添加訂單列表屬性List<OrdersBean> ordersBean,將用戶創(chuàng)建的訂單映射到ordersBean愉适。
  • 在OdersBean中添加訂單明細列表屬性List<OrderDetailBean> orderDetailBeans犯助,將訂單的明細映射到orderDetailBeans。
  • 在OrderDetail中添加items屬性ItemsBean itemsBean维咸,將訂單明細所對應(yīng)的商品映射到itemsBean剂买。

3.實現(xiàn)
(1)配置映射

將用戶信息映射到user中
在Oders中添加訂單明細列表
在OrderDetail中添加items屬性

(2)配置文件
OrdersMapperCustom.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="dao.OrdersMapperCustom">

    <!--查詢用戶及用戶購買商品信息-->
    <resultMap id="UserAndItemsResultMap" type="entity.UserBean">
        <!--用戶信息-->
        <id column="id" property="id"></id>
        <result column="username" property="username"></result>
        <result column="sex" property="sex"></result>
        <result column="address" property="address"></result>
        <!--訂單信息-->
        <collection property="ordersBeans" ofType="entity.OrdersBean">
            <id column="id" property="id"></id>
            <result column="user_id" property="user_id"></result>
            <result column="number" property="number"></result>
            <result column="createtime" property="createtime"></result>
            <result column="note" property="note"></result>
            <!--訂單明細-->
            <collection property="orderdetailBeans" ofType="entity.OrderdetailBean">
                <id column="orderdetail_id" property="id"></id>
                <result column="items_id" property="orders_id"></result>
                <result column="items_id" property="items_id"></result>
                <result column="orders_id" property="orders_id"></result>
                <!--商品信息-->
                <association property="itemsBean" javaType="entity.ItemsBean">
                <id column="items_id" property="id"></id>
                    <result column="items_name" property="name"></result>
                    <result column="items_detail" property="detail"></result>
                    <result column="items_price" property="price"></result>
                </association>
            </collection>
        </collection>
    </resultMap>
 
    <!--查詢用戶及用戶購買商品信息-->
    <select id="findUserAndItemsResultMap" resultMap="UserAndItemsResultMap">
  SELECT
 orders.*,
 user.username,
 user.sex,
 user.address,
 orderdetail.id orderdetail_id,
 orderdetail.items_id,
 orderdetail.item_num,
 orderdetail.orders_id,
 items.name items_name,
 items.detail items_detail,
 items.price items_price
FROM
 orders,
USER,
 orderdetail,
 items
WHERE
 orders.user_id = user.id AND orderdetail.orders_id=orders.id AND orderdetail.items_id = items.id
    </select>
</mapper>

(3)OrdersMapperCustom.java接口

public List<UserBean> findUserAndItemsResultMap() throws Exception;

(4)測試

  @Test
    public void findUserAndItemsResultMap() throws Exception {
        SqlSession sqlSession = sqlSessionFactory.openSession();
        OrdersMapperCustom ordersMapperCustom = sqlSession.getMapper(OrdersMapperCustom.class);
        List<UserBean> userBeans  = ordersMapperCustom.findUserAndItemsResultMap();
        System.out.println(userBeans);
    }
測試結(jié)果
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市癌蓖,隨后出現(xiàn)的幾起案子瞬哼,更是在濱河造成了極大的恐慌,老刑警劉巖租副,帶你破解...
    沈念sama閱讀 211,042評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件坐慰,死亡現(xiàn)場離奇詭異,居然都是意外死亡用僧,警方通過查閱死者的電腦和手機结胀,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,996評論 2 384
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來责循,“玉大人糟港,你說我怎么就攤上這事≌铀溃” “怎么了着逐?”我有些...
    開封第一講書人閱讀 156,674評論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我耸别,道長健芭,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,340評論 1 283
  • 正文 為了忘掉前任秀姐,我火速辦了婚禮慈迈,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘省有。我一直安慰自己痒留,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 65,404評論 5 384
  • 文/花漫 我一把揭開白布蠢沿。 她就那樣靜靜地躺著伸头,像睡著了一般。 火紅的嫁衣襯著肌膚如雪舷蟀。 梳的紋絲不亂的頭發(fā)上恤磷,一...
    開封第一講書人閱讀 49,749評論 1 289
  • 那天,我揣著相機與錄音野宜,去河邊找鬼扫步。 笑死,一個胖子當(dāng)著我的面吹牛匈子,可吹牛的內(nèi)容都是我干的河胎。 我是一名探鬼主播,決...
    沈念sama閱讀 38,902評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼虎敦,長吁一口氣:“原來是場噩夢啊……” “哼游岳!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起原茅,我...
    開封第一講書人閱讀 37,662評論 0 266
  • 序言:老撾萬榮一對情侶失蹤吭历,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后擂橘,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,110評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡摩骨,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年通贞,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片恼五。...
    茶點故事閱讀 38,577評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡昌罩,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出灾馒,到底是詐尸還是另有隱情茎用,我是刑警寧澤,帶...
    沈念sama閱讀 34,258評論 4 328
  • 正文 年R本政府宣布,位于F島的核電站轨功,受9級特大地震影響旭斥,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜古涧,卻給世界環(huán)境...
    茶點故事閱讀 39,848評論 3 312
  • 文/蒙蒙 一垂券、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧羡滑,春花似錦菇爪、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,726評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至职祷,卻和暖如春近速,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背堪旧。 一陣腳步聲響...
    開封第一講書人閱讀 31,952評論 1 264
  • 我被黑心中介騙來泰國打工削葱, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人淳梦。 一個月前我還...
    沈念sama閱讀 46,271評論 2 360
  • 正文 我出身青樓析砸,卻偏偏與公主長得像,于是被迫代替她去往敵國和親爆袍。 傳聞我的和親對象是個殘疾皇子首繁,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,452評論 2 348

推薦閱讀更多精彩內(nèi)容