记一个递归查菜单的sql格外的好用

业务层

    /**
     * 查询代理商菜单
     * @return
     */
    @Override
    public List<Menu> getAgentMenu() {
        return menuMapper.agentMenuList(-1);
    }

XML  文件

    /**
     * 查询代理商权限
     * @param i
     * @return
     */
    List<Menu> agentMenuList(int i);


// xml 

    <select id="agentMenuList" resultMap="AgentMenuAllMap">
        SELECT * FROM tb_menu WHERE parent_id = #{pid} AND is_del = 0 AND m_type = 2 ORDER BY order_num ASC
    </select>

    <resultMap id="AgentMenuAllMap" type="com..system.entity.Menu" extends="commonMap">
        <collection
                property="children"
                ofType="com.mxktech.system.entity.Menu"
                column="menu_id"
                select="agentMenuList">
        </collection>
    </resultMap>

    <resultMap id="commonMap" type="com.mxktech.system.entity.Menu">
        <id         column="menu_id"                property="menuId"       />
        <result     column="parent_id"              property="parentId"     />
        <result     column="path"                   property="path"         />
        <result     column="type"                   property="type"         />
        <result     column="permission"             property="permission"   />
        <result     column="component"              property="component"   />
        <result     column="icon"                   property="icon"         />
        <result     column="title"                  property="title"        />
        <result     column="name"                   property="name"         />
        <result     column="description"            property="description"  />
        <result     column="hidden"                 property="hidden"       />
        <result     column="order_num"               property="orderNum"    />
        <result     column="is_del"                  property="isDel"        />
        <result     column="create_time"             property="createTime"  />
        <result     column="create_user"             property="createUser"  />
        <result     column="update_time"             property="updateTime"  />
        <result     column="update_user"             property="updateUser"  />
    </resultMap>

结果会显示这样一个菜单的层级:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值