前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >mybatis之collection实现递归查询级联数据

mybatis之collection实现递归查询级联数据

作者头像
周杰伦本人
发布2022-10-25 15:30:37
1K0
发布2022-10-25 15:30:37
举报
文章被收录于专栏:同步文章

mybatis之collection实现递归查询级联数据

数据库结构:

在这里插入图片描述
在这里插入图片描述

mbatis mapper文件:

代码语言:javascript
复制
<!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.xiepanpan.gmall.pms.entity.ProductCategory">
        <id column="id" property="id" />
        <result column="parent_id" property="parentId" />
        <result column="name" property="name" />
        <result column="level" property="level" />
        <result column="product_count" property="productCount" />
        <result column="product_unit" property="productUnit" />
        <result column="nav_status" property="navStatus" />
        <result column="show_status" property="showStatus" />
        <result column="sort" property="sort" />
        <result column="icon" property="icon" />
        <result column="keywords" property="keywords" />
        <result column="description" property="description" />
    </resultMap>

    <resultMap id="ExtendResultMap"
               type="com.xiepanpan.gmall.vo.product.PmsProductCategoryWithChildrenItem"
               extends="BaseResultMap">
        <collection property="children" select="listCategoryWithChildren"
                    column="id"></collection>
        <!--<association property=""-->

    </resultMap>

    <!--缓存-->
    <!--List<PmsProductCategoryWithChildrenItem> listCatelogWithChilder(Integer i);-->
    <select id="listCategoryWithChildren" resultMap="ExtendResultMap">
        select * from pms_product_category where parent_id=#{i}
    </select>

PmsProductCategoryWithChildrenItem 实体类 :

代码语言:javascript
复制
import com.xiepanpan.gmall.pms.entity.ProductCategory;
import lombok.Data;

import java.io.Serializable;
import java.util.List;

/**
 */
@Data
public class PmsProductCategoryWithChildrenItem extends ProductCategory  implements Serializable {



    private List<ProductCategory> children;

}

ProductCategory实体类 :

代码语言:javascript
复制
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 产品分类
 * </p>
 *
 * @author xiepanpan
 * @since 2019-12-06
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("pms_product_category")
@ApiModel(value="ProductCategory对象", description="产品分类")
public class ProductCategory implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    @ApiModelProperty(value = "上机分类的编号:0表示一级分类")
    @TableField("parent_id")
    private Long parentId;

    @TableField("name")
    private String name;

    @ApiModelProperty(value = "分类级别:0->1级;1->2级")
    @TableField("level")
    private Integer level;

    @TableField("product_count")
    private Integer productCount;

    @TableField("product_unit")
    private String productUnit;

    @ApiModelProperty(value = "是否显示在导航栏:0->不显示;1->显示")
    @TableField("nav_status")
    private Integer navStatus;

    @ApiModelProperty(value = "显示状态:0->不显示;1->显示")
    @TableField("show_status")
    private Integer showStatus;

    @TableField("sort")
    private Integer sort;

    @ApiModelProperty(value = "图标")
    @TableField("icon")
    private String icon;

    @TableField("keywords")
    private String keywords;

    @ApiModelProperty(value = "描述")
    @TableField("description")
    private String description;


}

查询结果:

在这里插入图片描述
在这里插入图片描述
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-12-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • mybatis之collection实现递归查询级联数据
    • 数据库结构:
      • mbatis mapper文件:
        • PmsProductCategoryWithChildrenItem 实体类 :
          • ProductCategory实体类 :
            • 查询结果:
            相关产品与服务
            数据库
            云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档