MYSQL查询用户下多个角色信息

    <resultMap id="baseBeanUser" type="com.**.**.vo.system.TUserVoOut">
        <id column="id" property="id"/>
        <result column="name" property="name"/>
        <result column="actualName" property="actualName"/>
        <result column="ipNum" property="ipNum"/>
        <result column="intime" property="intime"/>
        <result column="departmentName" property="departmentName"/>
        <result column="departmentId" property="departmentId"/>
        <collection
                property="roleNameLst"
                columnPrefix="r_"
                ofType="com.aisino.guard.entity.system.TRole"
        >
            <id column="id" property="id"/>
            <result column="name" property="name"/>
            <result column="deleted" property="deleted"/>
        </collection>
    </resultMap>

    <select id="queryUserPageLst" resultMap="baseBeanUser">
        select
            u.id as id,
            u.name as name,
            u.actual_name as actualName,
            u.ip_num as ipNum,
            u.intime as intime,
            u.department_id as departmentId,
            d.name as departmentName,
            r.id r_id,
            r.name r_name
        from
            t_user as u
        left join t_department as d
        on u.department_id = d.id
        left join t_user_role_rel as usrel
        on  u.id = usrel.ref_user_id
        left join t_role as r
        on r.id = usrel.ref_role_id
        <where>
            u.deleted = ${@com.**.**.vo.system.TUserVO@DELTED_FLAG_N}
            <if test="param.name != null">
                AND p.name = #{param.name}
            </if>
            <if test="param.actualName != null">
                AND u.actual_name = #{param.actualName}
            </if>
            <if test="param.departmentId != null">
                AND u.department_id = #{param.departmentId}
            </if>
        </where>
    </select>

 

posted on 2019-07-17 10:44  以启山林  阅读(2182)  评论(0编辑  收藏  举报

导航