ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

MyBatisPlus 中的 resultMap 使用

2021-08-03 23:34:44  阅读:492  来源: 互联网

标签:sku info MyBatisPlus attr resultMap ssav private 使用 id


  1. 想让数据库返回 SkuItemSaleAttrVo 实体数据

    @ToString
    @Data
    public class SkuItemSaleAttrVo {
    
        private Long attrId;
        private String attrName;
        private List<AttrValueWithSkuIdVo> attrValues;
    }
    
    @Data
    @ToString
    public class AttrValueWithSkuIdVo {
    
        private String attrValue;
        private String skuIds;
    }
    
  2. 定义Mapper

    List<SkuItemSaleAttrVo> getSaleAttrsBySpuId(@Param("spuId") Long spuId);
    
  3. 定义Dao.xml

    <resultMap id="skuItemSaleAttrVo" type="com.feng.mall.product.vo.SkuItemSaleAttrVo">
        <result column="attr_id" property="attrId"></result>
        <result column="attr_name" property="attrName"></result>
        <collection property="attrValues" ofType="com.feng.mall.product.vo.AttrValueWithSkuIdVo">
            <result column="attr_value" property="attrValue"></result>
            <result column="sku_ids" property="skuIds"></result>
        </collection>
    </resultMap>
    
    <select id="getSaleAttrsBySpuId" resultMap="skuItemSaleAttrVo">
        select ssav.attr_id,
               ssav.attr_name,
               ssav.attr_value,
               group_concat(distinct info.sku_id) sku_ids
        from pms_sku_info info
                 left join pms_sku_sale_attr_value ssav
                           on ssav.sku_id = info.sku_id
        where info.spu_id = #{spuId}
        group by ssav.attr_id, ssav.attr_name, ssav.attr_value
    </select>
    

标签:sku,info,MyBatisPlus,attr,resultMap,ssav,private,使用,id
来源: https://blog.csdn.net/weixin_32196893/article/details/119361485

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有