mybatis返回HashMap<Long,List<自定义类>>

需求:根据组合商品id列表,获取其下的关联的商品列表


mybatis代码:

   <resultMap class="java.util.HashMap" id="ComboMap" groupBy="comboItemId">
		<result column="COMBO_ITEM_ID" jdbcType="BIGINT" property="comboItemId" />
		<result property="comboList" javaType="java.util.ArrayList" resultMap="ITEM_COMBO.comboResult" /> 
   </resultMap>
   <resultMap id="comboResult" class="com.plocc.shop.dao.vo.ItemComboVo">
		<result column="ITEM_ID" jdbcType="BIGINT" property="itemId" />
		<result column="SHOP_ID" jdbcType="BIGINT" property="shopId" />
	    <result column="COMBOPRICE" property="comboPrice" jdbcType="DECIMAL" />
	    <result column="ITEM_NAME" property="itemName" jdbcType="VARCHAR" />
	    <result column="SHOP_NAME" property="shopName" jdbcType="VARCHAR" />
	    <result column="LIST_PRICE" property="listPrice" jdbcType="DECIMAL" />
	    <result column="PL_PRICE" property="plPrice" jdbcType="DECIMAL" />
	    <result column="TYPE" property="type" jdbcType="CHAR" />
	    <result column="ITEM_NUM" jdbcType="INT" property="itemNum" />
	    <result column="PICTURE_PATH" property="picturePath" jdbcType="VARCHAR" />
   </resultMap> 
  
  <!-- 根据组合商品id列表,获取其下的关联的商品列表 -->
  <select id="getItemComboListByItemComboIds" resultMap="ComboMap" parameterClass="list" >
  	   SELECT 
  		   IT.ID ITEM_ID,
	       IT.ITEM_NAME,
	       IT.LIST_PRICE,
	       IT.PL_PRICE,
	       IT.TYPE,
	       IT.SHOP_ID,
	       IC.COMBOPRICE,
	       IC.ITEM_NUM,
	       IC.COMBO_ITEM_ID,
	       IPC.PICTURE_PATH,
	       S.SHOP_NAME
	   FROM ITEM IT 
		   RIGHT JOIN ITEM_COMBO IC 
			  ON (IT.ID = IC.ITEM_ID  AND IC.IS_DEL='0' AND IC.COMBO_ITEM_ID  in
				    <iterate open="(" close=")" conjunction="," >  
					    #[]#  
					</iterate>
				   )
		   LEFT JOIN ITEM_PICTURE AS IPC  
              ON IT.ITEM_GROUP_ID = IPC.ITEM_GROUP_ID AND IPC.TYPE='1'  AND IPC.IS_DEL='0'
           LEFT JOIN SHOP S on IT.SHOP_ID = S.ID   		   
		   WHERE IT.IS_DEL='0' AND IT.STAT='1' ORDER BY IC.COMBO_ITEM_ID
  </select>

java代码:

@Override
	public HashMap<Long, List<ItemComboVo>> getItemComboListByItemComboIds(
			List<Long> itemComboIds) throws DataAccessException {
		return (HashMap<Long, List<ItemComboVo>>)sqlMapClient.queryForMap("ITEM_COMBO.getItemComboListByItemComboIds", itemComboIds, "comboItemId","comboList");
	}


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值