mybatis实现子母表树型列表查询

1、结果映射

xml 复制代码
<resultMap type="com.xxx.xxxVo" id="ResultMap">
    <id property="bizId" column="id"/>
    <!-- todo 其他参数-->
    <collection property=" 对应列表属性名 "  ofType="com.xxx.xxxVo"
                <!-- 搜索方法填写对应方法所在路径,只需要写在xml文件里边,不需要在mapper中声明-->
                select="com.xxx.xxxMapper.xxx"
                <!-- 传递搜索属性名,由母表id传递 -->
                column="id">
        <result property="id" column="id"/>
        <!-- todo 其他参数-->
    </collection>
</resultMap>

2、sql编写

母表

xml 复制代码
<select id="queryZjList" resultMap="ResultMap">
<!--  todo 正常编写母表查询sql  -->
</select>

子表

xml 复制代码
    <select id="queryByBizId" resultType="com.xxx.xxxVo">
    <!--  todo 正常写子表查询sql  -->
    and A.bizId = #{id}
    </select>

原理是采用n+1次查询构建树形列表,优点是使用简单,代码简单易懂,适用于一次几百数据量、非高并发项目业务。缺点不适用于大数据量、高并发场景,替代方案建议采用两次查询然后在业务代码层面进行拼接,如果数据量大则限制前端点开才展开子表

相关推荐
颜酱9 分钟前
03 | 实现节点1 — 抽取关键词
前端·人工智能·后端
qq_4523962318 分钟前
第五篇:《接口与错误处理:Go 的哲学》
开发语言·后端·golang
神奇小汤圆40 分钟前
SpringBoot + 虚拟线程,简直鸟枪换大炮~
后端
掘金一周1 小时前
想问问掘友们:AI 时代,资深开发的核心价值到底在哪里?| 沸点周刊 7.23
前端·人工智能·后端
geovindu2 小时前
java: Facade Pattern
java·开发语言·后端·外观模式·结构型模式
布朗克1682 小时前
Go 入门到精通-29-测试与基准
开发语言·后端·golang·测试与基准
你驴我2 小时前
WhatsApp Cloud API 速率限制下的令牌桶与退避策略实践
网络·后端·python
ClouGence3 小时前
SAP HANA 到 Doris 数据迁移:4 种方案对比与迁移教程
数据库·后端·dba
LVZ3 小时前
用了半年 AI 写代码,最烦的不是代码,是环境
前端·后端·开源
云边有个稻草人3 小时前
从一条危险的 WHERE 条件说起:金仓数据库逻辑安全警示
后端