已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、综合案例:多对多映射 2、具体内容 权限 权限编号: NUMBER 权限组编号:NUMBER 名称 VARCHAR2(50) 操作路径 VARCHAR2(200) 用户 用户编号:VACHAR2(50) 角色编号:NUMBER 姓名: VARCHAR2(50) 密码:VARCHAR2(32) 权限组 权限组编号 NUMBER 名称:VARCHAR2(50) 角色 角色编号 NUMBER 名称 VARCHAR2(50) 角色-权限组 角色编号 NUMBER 权限组编号:NUMBER 提示:用户只写核心信息即可,例如:编号、姓名,权限只写编号、名称即可。其他的表都要 写。 开发要求: 1、 将数据还原为简单的 java 类。 2、 数据的输出: |-可以根据一个用户输出它对应的角色以及每个角色对应 的权限,以及包含的具体 的权限详解; |-一个 权限可以输出具备此权限的角色,以及具备此角色的 所有管理员,同时输出 权限所有权限详解: |-一个角色可以输出它所包含的 管理员,每个管理员对应的具体的权限,以及权限 详情。 第一步:数据表转换为简单 java 类。 class User private String userid; private String name; private String password; public User(String userid,String name,String password) this.userid = userid; = name; this.password = password; public String getInfo() return “ 用户 ID:“ +this.userid+“,姓名:“++“ ,密码:“+this.password; class Role /角色 private int rid; private String title; public Role(int rid,String title) this.rid=rid; this.title=title; public String getInfo() return “角色编 号:“+this.rid+“,名称:“+this.title; class Group /权 限组 private int gid; private String title; public Group(int gid,String title) this.gid=gid; this.title=title; public String getInfo() return “权限组编 号:“+this.gid+“,组名称:“+this.title; class Action /权 限 private int aid; private String title; private String url; public Action(int aid,String title,String url) this.aid=aid; this.title=title; this.url=url; public String getInfo() return “权限编 号:“+this.aid+“,权限名称:“+this.title+“,路径:“+this.url; 第二步:设置关系: 一个角色包含多个用户,一对多关系; 一个权限组包含有 多个权限,属于一 对多关系; 一个角色对应有多个权限组,每个权限组可能有多个角色,多对多; class User private String userid; private String name; private String password; private Role role; public User(String userid,String name,String password) this.userid = userid; = name; this.password = password; public void setRole(Role role) this.role=role; public Role getRole() return this.role; public String getInfo() return “用 户 ID:“ +this.userid+“,姓名:“++“,密码:“+this.password; class Role /角色 private int rid; private String title; private User users; private Group groups; public Role(int rid,String title) this.rid=rid; this.title=title; public void setGroups(Group groups) this.groups=groups; public Group getGroups() return this.groups; public void setUsers(User users) this.users=users; public User getUsers() return this.users; public String getInfo() return “角色编号:“+this.rid+“, 名称:“+this.title; class Group /权限组 private int gid; private String title; private Action actions; private Role roles; public Group(int gid,String title) this.gid=gid; this.title=title; public void setRoles(Role roles) this.roles=roles; public Role getRoles() return this.roles; public void setActions(Action actions) this.actions=actions; public Action getActions() return this.actions; public String getInfo() return “权限组编号:“+this.gid+“, 组名称:“+this.title; class Action /权限 private int aid; private String title; private String url; private Group group; public Action(int aid,String title,String url) this.aid=aid; this.title=title; this.url=url; public void setGroup(Group group) this.group = group; public Group getGroup() return this.group; public String getInfo() return “权限编号:“+this.aid+“, 权限名称:“+this.title+“,路径:“+this.url; 分杀完毕。迅速,一定是不 需要使用 脑子就直接写出来的。 第三步:设置关系; class User private String userid; private String name; private String password; private Role role; public User(String userid,String name,String password) this.userid = userid; = name; this.password = password; public void setRole(Role role) this.role=role; public Role getRole() return this.role; public String getInfo() return “用 户 ID:“ +this.userid+“,姓名:“++“,密码:“+this.password; class Role /角色 private int rid; private String title; private User users; private Group groups; public Role(int rid,String title) this.rid=rid; this.title=title; public void setGroups(Group groups) this.groups=groups; public Group getGroups() return this.groups; public void setUsers(User users) this.users=users; public User getUsers() return this.users; public String getInfo() return “角色编号:“+this.rid+“, 名称:“+this.title; class Group /权限组 private int gid; private String title; private Action actions; private Role roles; public Group(int gid,String title) this.gid=gid; this.title=title; public void setRoles(Role roles) this.roles=roles; public Role getRoles() return this.roles; public void setActions(Action actions) this.actions=actions; public Action getActions() return this.actions; public String getInfo() return “权限组编号:“+this.gid+“, 组名称:“+this.title; class Action /权限 private int aid; private String title; private String url; private Group group; public Action(int aid,String title,String url) this.aid=aid; this.title=title; this.url=url; public void setGroup(Group group) this.group = group; public Group getGroup() return this.group; public String getInfo() return “权限编号:“+this.aid+“, 权限名称:“+this.title+“,路径:“+this.url; public class TestDemo public static void main(String args) /第一步: 根据表结构设置关系 /1、定 义 单独的类对象 User ua = new User(“user-a“,“用户 A“,“hello“); User ub = new User(“user-b“,“用户 B“,“hello“); User uc = new User(“user-c“,“用户 C“,“hello“); /2、定 义 权限 Action act1 = new Action(1,“新闻管理“,“/news“); Action act2 = new Action(2,“用户管理“,“/users“); Action act3 = new Action(3,“备份管理“,“/bks“); Action act4 = new Action(4,“缓存管理“,“/caches“); Action act5 = new Action(5,“数据管理“,“/datas“); /3、定义权限组信息 Group g1 = new Group(1,“数据管理“); Group g2 = new Group(2,“人事管理“); Group g3 = new Group(3,“信息管理“); /4、定 义 角色信息 Role r1 = new Role(10,“超级管理员角色“); Role r2 = new Role(10,“普通管理员角色“); /5、设 置权限组与权限制关系,一对多关系 act1.setGr oup(g1); /权限与权限级的关系 act2.setGr oup(g1); /权限与权限级的关系 act3.setGr oup(g2); /权限与权限级的关系 act4.setGr oup(g2); /权限与权限级的关系 act5.setGr oup(g3); /权限与权限级的关系 g1.setActi ons(new Actionact1,act2); g2.setActi ons(new Actionact3,act4); g3.setActi ons(new Actionact5); /6、权限 组与角色关系 r1.setGrou ps(new Groupg1,g2,g3); r2.setGrou ps(new Groupg2,g3); g1.setRole s(new Roler1,r2); g2.setRole s(new Roler1,r2); /7、定 义 用户与角色关系 ua.setRole (r1); ub.setRole (r2); uc.setRole (r2); r1.setUser s(new Userua); r2.setUser s(new Userub,uc); /第二步: 根据要求通过关系取出数据 /可以根 据一个用户输出它对应的角色以及每个角色对应的权限,以及包含的具体的权限详情; System.ou t.println(ua.getInfo(); System.ou t.println(“t|-【角色】“+ua.getRole().getInfo(); for(int x=0;xua.getRole().getGroups().length;x+) System.out.println(“tt|-【权限组】“+ua.getRole().getGroups()x.getInfo(); for(int y=0;yua.getRole().getGroups()x.getActions().length;y+) System.out.println(“ttt|-【权限】“+ua.getRole().getGroups()x.getActions()y.getInfo(); System.ou t.println(“n= n“); /一个权 限可以输出具备此权限的角色,以及具 备此角色的 所有管理员,同时输出权限所有权限详解: System.ou t.println(act1.getInfo(); /通过权 限找到权限对应的权限组,一个权限组有多个角
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 液晶显示器件制造工操作评估模拟考核试卷含答案
- 住宅楼电气施工组织设计
- 2026年北师大版(2022)小学劳动技术四年级上册期末综合测试卷及答案
- 机械工程中公差匹配案例分析
- 华东师大版八年级数学上册 第十二章《全等三角形》单元测试卷(带答案)
- 揭秘现代工程实践
- 广西河池市大化县2023-2024学年八年级(上)期中数学试卷(含答案)
- 硕士研究透析
- 福建省厦门市四校联考2023-2024学年部编版九年级上学期期中历史试题(解析版)
- 2025年国家能源投资集团统招(6400余人)笔试历年参考题库附带答案详解
- 宁波市一日游旅游合同(示范文本)
- 职业健康体检结果书面告知书及回执单
- 2025年综合窗口岗位工作人员招聘考试笔试试题(附答案)
- 高中主题班会 筑牢理想信念厚植家国情怀课件-高二下学期爱国主义教育主题班会
- 近7年北京中考真题几何综合(学生版)
- 土壤肥料学 7植物氮素营养与氮肥学习资料
- 郑商所苹果期货培训课件
- 2025年湖南高速铁路职业技术学院高职单招职业技能测试近5年常考版参考题库含答案解析
- 催收专业知识培训课件
- 《传感器测量在工业中的应用》课件
- DB33∕642-2019热电联产能效、能耗限额及计算方法
评论
0/150
提交评论