MyBatis多表聯合查詢對應多實體返回List 轉自 https://www.cnblogs.com/sxdcgaq8080/p/9441860.html

    select 
        a.id as 'id',
        a.uid as 'uid',
        a.create_date as 'createDate',
        a.update_date as 'updateDate',
        a.update_id as 'updateId',
        a.create_id as 'createId',
        a.brand_uid as 'brandUid',
        a.tid as 'tid',
        a.stock as 'stock',
        a.name as 'name',
        a.goods_code as 'goodsCode',
        a.market_value as 'marketValue',
        a.specification as 'specification',
        a.remark as 'remark',
        a.integral as 'integral',
        a.description as 'description',
        a.sale_num as 'saleNum',
        a.limit_num as 'limitNum',
        a.shelf_flag as 'shelfFlag',
        a.home_show_flag as 'homeShowFlag',
        sl.shelf_date as 'shelfDate',
        sl.obtained_date as 'obtainedDate',
        b.src b_src,
        b.type b_type,
        b.sort  b_sort
    from 
        integral_goods a
    left join
        integral_goods_img b
    on 
        a.uid = b.integral_goods_id
    left join
        shelf_log sl
    on a.uid = sl.integral_goods_uid
    <where>
        a.delete_flag = ${@com.pisen.cloud.luna.ms.jifen.base.domain.IntegralGoods@DELETE_FLAG_DISDELETE}
        and a.tid = #{tid}

    <if test="uid != null and uid != '' ">
        and a.uid = #{uid}
    </if>

    <if test="brandUid != null and brandUid != '' ">
        and a.brand_uid = #{brandUid}
    </if>

    <if test="name != null and name != '' ">
        and a.name like CONCAT('%',#{name},'%')
    </if>

    </where>

</select>

<resultMap type="com.pisen.cloud.luna.ms.jifen.base.domain.IntegralGoods" id="baseResBean">

    <id column="id" property="id"/>
    <result column="uid" property="uid"/>
    <result column="createDate" property="createDate"/>
    <result column="updateDate" property="updateDate"/>
    <result column="createId" property="createId"/>
    <result column="updateId" property="updateId"/>
    <result column="type" property="type"/>
    <result column="tid" property="tid"/>
    <result column="stock" property="stock"/>
    <result column="name" property="name"/>
    <result column="goodsCode" property="goodsCode"/>
    <result column="marketValue" property="marketValue"/>
    <result column="specification" property="specification"/>
    <result column="brandUid" property="brandUid"/>
    <result column="remark" property="remark"/>
    <result column="integral" property="integral"/>
    <result column="description" property="description"/>
    <result column="saleNum" property="saleNum"/>
    <result column="limitNum" property="limitNum"/>
    <result column="shelfFlag" property="shelfFlag"/>
    <result column="homeShowFlag" property="homeShowFlag"/>
    <result column="shelfDate" property="shelfDate"/>
    <result column="obtainedDate" property="obtainedDate"/>
    
    <collection 
        property="imgList" 
        columnPrefix="b_"
        ofType="com.pisen.cloud.luna.ms.jifen.base.domain.IntegralGoodsImg"
        >
        <id column="id" property="id"/>
        <result column="src" property="src"/>
        <result column="type" property="type"/>
        <result column="sort" property="sort"/>

    </collection>
    
    
</resultMap>

查詢結果

    select 
        a.id as 'id',
        a.uid as 'uid',
        a.create_date as 'createDate',
        a.update_date as 'updateDate',
        a.update_id as 'updateId',
        a.create_id as 'createId',
        a.brand_uid as 'brandUid',
        a.tid as 'tid',
        a.stock as 'stock',
        a.name as 'name',
        a.goods_code as 'goodsCode',
        a.market_value as 'marketValue',
        a.specification as 'specification',
        a.remark as 'remark',
        a.integral as 'integral',
        a.description as 'description',
        a.sale_num as 'saleNum',
        a.limit_num as 'limitNum',
        a.shelf_flag as 'shelfFlag',
        a.home_show_flag as 'homeShowFlag',
        sl.shelf_date as 'shelfDate',
        sl.obtained_date as 'obtainedDate',
        b.src b_src,
        b.type b_type,
        b.sort  b_sort
    from 
        integral_goods a
    left join
        integral_goods_img b
    on 
        a.uid = b.integral_goods_id
    left join
        shelf_log sl
    on a.uid = sl.integral_goods_uid
    <where>
        a.delete_flag = ${@com.pisen.cloud.luna.ms.jifen.base.domain.IntegralGoods@DELETE_FLAG_DISDELETE}
        and a.tid = #{tid}

    <if test="uid != null and uid != '' ">
        and a.uid = #{uid}
    </if>

    <if test="brandUid != null and brandUid != '' ">
        and a.brand_uid = #{brandUid}
    </if>

    <if test="name != null and name != '' ">
        and a.name like CONCAT('%',#{name},'%')
    </if>

    </where>

</select>

<resultMap type="com.pisen.cloud.luna.ms.jifen.base.domain.IntegralGoods" id="baseResBean">

    <id column="id" property="id"/>
    <result column="uid" property="uid"/>
    <result column="createDate" property="createDate"/>
    <result column="updateDate" property="updateDate"/>
    <result column="createId" property="createId"/>
    <result column="updateId" property="updateId"/>
    <result column="type" property="type"/>
    <result column="tid" property="tid"/>
    <result column="stock" property="stock"/>
    <result column="name" property="name"/>
    <result column="goodsCode" property="goodsCode"/>
    <result column="marketValue" property="marketValue"/>
    <result column="specification" property="specification"/>
    <result column="brandUid" property="brandUid"/>
    <result column="remark" property="remark"/>
    <result column="integral" property="integral"/>
    <result column="description" property="description"/>
    <result column="saleNum" property="saleNum"/>
    <result column="limitNum" property="limitNum"/>
    <result column="shelfFlag" property="shelfFlag"/>
    <result column="homeShowFlag" property="homeShowFlag"/>
    <result column="shelfDate" property="shelfDate"/>
    <result column="obtainedDate" property="obtainedDate"/>
    
    <collection 
        property="imgList" 
        columnPrefix="b_"
        ofType="com.pisen.cloud.luna.ms.jifen.base.domain.IntegralGoodsImg"
        >
        <id column="id" property="id"/>
        <result column="src" property="src"/>
        <result column="type" property="type"/>
        <result column="sort" property="sort"/>

    </collection>
    
    
</resultMap>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章