mybatis根据用户id查询角以及角对应的权限

阅读: 评论:0

mybatis根据⽤户id查询⾓⾊以及⾓⾊对应的权限查询到的数据
{
"name": "admin",
"role": {
"id": 1,
翻罐笼"name": "管理员",
"permissionList": [{
"id": 1,
"name": "总公司"
}, {
"id": 2,
"name": "信息部"
}]
},
"userId": 39
}
1.mapper⽂件:
温热理疗床<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-////DTD Mapper 3.0//EN" "/dtd/mybatis-3-mapper.dtd" >
<!--column:表⽰数据库中的字段列名;property:表⽰实体类对应的字段名-->
<mapper namespace="ikanhoutai.dao.UserDao" >
<!--⽤户-->
<!--<resultMap id="UserRolePermissionMap" type="UserRolePermission">-->
<!--<result property="userId" column="id" />-->
<!--<result property="name" column="name" jdbcType="VARCHAR"/>-->
<!--<collection property="roleList" column="id" javaType="list" select="selectAllRoles"></collection>-->
<!--<collection property="permissionList" column="id" javaType="list" select="selectAllpermissions"></collection>-->
<!--</resultMap>-->
<resultMap id="UserRolePermissionMap" type="UserRolePermission">
<result property="userId" column="id" />
<result property="name" column="name" jdbcType="VARCHAR"/>
<collection property="role" column="id" javaType="ity.Roles" select="
selectAllRoles"></collection>
</resultMap>
<!--权限-->
<resultMap id="PermissionMap" type="ity.Permission" >
<id column="id" property="id" jdbcType="INTEGER" />
<result column="name" property="name" jdbcType="VARCHAR" />
</resultMap>
<!--⾓⾊-->
<resultMap id="RolesMap" type="ity.Roles" >
<id column="id" property="id" jdbcType="INTEGER" />
<result column="name" property="name" jdbcType="VARCHAR" />
<!--权限集合-->
<collection property="permissionList" column="id" javaType="list" select="selectAllpermissions"></collection>
</resultMap>
<!--根据⾓⾊id查询权限(先从⾓⾊权限关联表查询⾓⾊id相等,在查询权限id,根据权限id在权限表⾥查询权限)-->
<select id="selectAllpermissions" resultType="ity.Permission" parameterType="java.lang.Integer">
select id,name from sys_menu where id in (select sys_u_id from sys_role_menu where sys_le_id=#{id})    </select>
<!--根据⽤户中的⾓⾊查询⾓⾊-->
一体机教学<select id="selectAllRoles" resultMap="RolesMap" parameterType="java.lang.Integer">
select id,name from sys_role where id in (select sys_le_id from sys_user_role where sys_user_role.user_id=#{id})
</select>
<select id="chaxunByUserId" resultMap="UserRolePermissionMap" parameterType="java.lang.Integer" >
select * from  user where id=#{id}
</select>
</mapper>
2.实体类:
2.1返回的实体类:
//⽤户返回对象
public class UserRolePermission {
private int userId;
private String name;
private Roles role;
public int getUserId() {
return userId;
}
public void setUserId(int userId) {                this.userId = userId;
}
public String getName() {
return name;
}
public void setName(String name) {                this.name = name;
}
public Roles getRole() {
return role;
}
public void setRole(Roles role) {
}
}
2.2:⾓⾊实体类:
public class Roles {
private Integer id;
private String name;
private List<Permission> permissionList;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public List<Permission> getPermissionList() {
return permissionList;
}
public void setPermissionList(List<Permission> permissionList) {
this.permissionList = permissionList;
开关型霍尔传感器}
@Override
秸秆炭化
public String toString() {
return "Roles [id=" + id + ", name=" + name + ", permissionList=" + permissionList + "]";        }
}
2.3权限实体类:
public class Permission {
private Integer id;
private String name;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {        this.name = name;
}
@Override
public String toString() {
return "Permission{" +
"id=" + id +
v型钢
", name=" + name +
'}';
}
}
3.表结构:
3.1⽤户表:

本文发布于:2023-05-14 18:20:15,感谢您对本站的认可!

本文链接:https://patent.en369.cn/patent/2/99279.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:权限   查询   实体类
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 369专利查询检索平台 豫ICP备2021025688号-20 网站地图