Springboot系统权限组菜单查询

1.在PermissController中添加查询方法

@ApiOperation("查询所有菜单")
    @GetMapping("/menus")
    public List<Menu> getAllMenus() {
        return menuService.getAllMenus();
    }

2.在Service中写接口

    //查询所有菜单
    List<Menu> getAllMenus();

3.在service实现类中实现接口,调用mapper中的方法

    //查询所有菜单
    @Override
    public List<Menu> getAllMenus() {

        return menuMapper.getAllMenus();
    }

4.mapper中添加接口方法

    //查询所有菜单
    List<Menu> getAllMenus();

5.在mapper.xml中写sql语句和对应resultmap配置

<resultMap id="MenusWithChildren" type="com.xxxx.server.pojo.Menu" extends="BaseResultMap">
        <id column="id2" property="id"/>
        <result column="name2" property="name"/>
        <collection property="children" ofType="com.xxxx.server.pojo.Menu">
            <id column="id2" property="id"/>
            <result column="name2" property="name"/>
            <collection property="children" ofType="com.xxxx.server.pojo.Menu">
                <id column="id3" property="id"/>
                <result column="name3" property="name"/>
            </collection>
        </collection>
    </resultMap>

    <select id="getAllMenus" resultMap="MenusWithChildren">
        SELECT
            m1.id AS id1,
            m1.`name`AS name1,
            m2.id AS id2,
            m2.`name`AS name2,
            m3.id AS id3,
            m3.`name`AS name3
        FROM
            t_menu m1,
            t_menu m2,
            t_menu m3

        WHERE
            m1.id = m2.parentId
          and
            m2.id = m3.parentId
          AND
            m3.enabled=True
    </select>

 

posted @ 2021-09-08 11:19  zuiAI0658  阅读(242)  评论(0)    收藏  举报