whycxzp
2021-04-15 e4e8380597b5abdd2ede656cf5291c5d760b1149
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
34
35
36
37
<?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.UserRoleMapper" >
 
    <resultMap id="Map_UserRole" type="UserRole">
        <association property="user" javaType="User">
            <id property="id" column="userId" />
            <result property="name" column="username" />
        </association>
        <association property="role" javaType="Role">
            <id property="id" column="roleId"/>
            <result property="name" column="name"/>
        </association>
    </resultMap>
    <resultMap id="Map_UserRoles" type="UserRole">
        <result column="userIds" property="userIds" />
        <result column="userNames" property="userNames" />
        <result property="roleId" column="roleId"/>
        <result property="roleName" column="name"/>
    </resultMap>
    <select id="getUserWithNoRole" resultType="User">
        select user.id,user.name from tb_user user left join tb_user_role userRole on user.id =userRole.user_id
        where userRole.role_id is null
    </select>
    <select id="getUserWithRole" resultMap="Map_UserRole">
        select user.id as userId,user.name as username,role.id as roleId,role.name from  tb_user_role userRole,tb_user user,tb_role role
        where user.id = userRole.user_id and userRole.role_id=role.id
    </select>
    <select id="getUserWithRoleMap" resultMap="Map_UserRoles">
        select GROUP_CONCAT(user.id ) as userIds,GROUP_CONCAT(user.name) as userNames,role.id as roleId,role.name
        FROM tb_user_role userRole,tb_user user,tb_role role
        WHERE user.id = userRole.user_id and userRole.role_id=role.id group by roleId
    </select>
    <select id="findRolesByUserId" resultType="string">
        select r.name from tb_user_role ur,tb_role r where ur.role_id=r.id and ur.user_id=#{userId};
    </select>
</mapper>