所谓的,说白了就是父子关系,就是爹与儿子的关系,只需要按照格式返回,就可以成树.

找爹的sql(pid=0表示跟节点)

    <select id="selectList1" resultMap="BaseTreeResultMap">
        select id,pid,warehouse_name as warehouseName from BASE_WAREHOUSE where pid = 0
    </select>

找儿子的sql

    <select id="getSubNode" resultMap="BaseTreeResultMap">
        select id,pid,warehouse_name as warehouseName from BASE_WAREHOUSE
        where pid = #{id}
    </select>

关系递归

<resultMap id="BaseTreeResultMap" type="org.jeecg.modules.system.model.BaseWareHouse">
        <id property="id" jdbcType="VARCHAR" column="id"/>
        <result property="warehouseName" jdbcType="VARCHAR" column="warehouseName"/>

        <result property="pid" jdbcType="VARCHAR" column="id"/>

        <result property="key" jdbcType="VARCHAR" column="id"/>
        <result property="value" jdbcType="VARCHAR" column="id"/>
        <result property="title" jdbcType="VARCHAR" column="warehouseName"/>

        <collection property="children" ofType="org.jeecg.modules.system.model.BaseWareHouse" column="id"
                    select="getSubNode"/>
    </resultMap>

效率:这种方法效率低能,不建议用,建议查询出所有数据,按照格式用程序写

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐