whyczh
2021-05-10 65e448a1540efe51f74b79966c925ea58ea3be0a
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.whyc.mapper.RoleMenuMapper" >
 
 
    <resultMap type="com.whyc.pojo.Menu" id="MenuMap">
        <id property="id" column="id" />
        <result property="name" column="name" />
        <result property="icon" column="icon"/>
        <result property="level" column="level"/>
        <result property="ord" column="ord"/>
        <collection property="subMenus" ofType="com.whyc.pojo.Menu">
            <id property="id" column="mid" />
            <result property="name" column="mname"/>
            <result property="url" column="murl" />
            <result property="icon" column="micon"/>
            <result property="level" column="mlevel"/>
            <result property="ord" column="mord"/>
        </collection>
    </resultMap>
 
    <select id="getUserMenu" resultMap="MenuMap">
        select pm.id,pm.name,pm.icon,pm.level,pm.ord,m.id mid,m.name mname,m.url murl,m.icon micon,m.level mlevel,m.ord mord
        from tb_user u
         inner join tb_user_role ur on u.id=ur.user_id
         inner join tb_role role on ur.role_id=role.id
         inner join tb_role_menu rm on role.id=rm.role_id
         inner join tb_menu m on m.id=rm.menu_id
         inner join tb_menu pm on m.menu_id = pm.id
        where u.id=#{id} ORDER BY pm.id,m.ord;
    </select>
 
</mapper>