先上模板

class Dept{//部门信息
private int did;
private String dname;
public Dept(int did, String dname) {
this.did=did;
this.dname=dname;
}
public String getInfo() {return "【部门】 did:"+this.did+ " 名称:"+this.dname  ;
}
}class Emp{//雇员信息
private int eid;
private String ename;
public Emp(int eid,String ename) {this.eid=eid;this.ename=ename;}
public String getInfo() {return "【雇员】eid:"+this.eid+"ename:"+this.ename;
}}class Role{//角色信息
private int rid;
private String title;//标题
public Role(int rid,String title) {
this.rid=rid;
this.title=title;
}
public String getInfo() {
return "[角色]rid:"+this.rid+" title:"+this.title;
}
}class Action{//权限,privilege
private int aid;
private String title;//标题
private String flag;//标记
public Action(int aid,String title,String flag) {this.aid=aid;this.title=title;this.flag=flag;
}
public String getInfo() {return "[] aid:"+this.aid+" title:"+this.title+" flag :"+this.flag;
}
}

再上代码

class Dept{//部门信息
private int did;
private String dname;
private Emp emps[];//一个部门有多个雇员
private Role role;//一个部门有一个角色
public Dept(int did, String dname) {
this.did=did;
this.dname=dname;
}
public void setEmps(Emp emps[]) {this.emps=emps;
}
public void setRole(Role role) {this.role=role;
}
public Emp[] getEmps() {return this.emps;
}
public Role getRole() {return this.role;
}
public String getInfo() {return "【部门】 did:"+this.did+ " 名称:"+this.dname  ;
}
}class Emp{//雇员信息
private int eid;
private String ename;
private Dept dept;//一个雇员属于一个部门
public Emp(int eid,String ename) {this.eid=eid;this.ename=ename;}
public void setDept(Dept dept) {
this.dept=dept;}
public Dept getDept() {
return this.dept;
}
public String getInfo() {return "【雇员】eid:"+this.eid+"ename:"+this.ename;
}}class Role{//角色信息
private int rid;
private String title;//标题
private Dept depts[];//多个部门具备此角色
private Action actions[];//一个角色拥有多个权限
public Role(int rid,String title) {
this.rid=rid;
this.title=title;
}
public void setDepts(Dept depts[]) {this.depts=depts;
}
public void setActions(Action actions[]) {this.actions=actions;
}
public Dept [] getDepts() {return this.depts;
}
public Action [] getActions() {return this.actions;
}
public String getInfo() {
return "[角色]rid:"+this.rid+" title:"+this.title;
}
}class Action{//权限,privilege
private int aid;
private String title;//标题
private String flag;//标记
private Role roles[];
public Action(int aid,String title,String flag) {this.aid=aid;this.title=title;this.flag=flag;
}public void serRoles(Role[] roles) {this.roles=roles;
}
public Role[] getRolese() {return this.roles;
}
public String getInfo() {return "[权限] aid:"+this.aid+" title:"+this.title+" flag :"+this.flag;
}
}class TestDemo{public static void main(String args[]) {//第一步:设置数据之间的关系//1.创建部门数据Dept d10=new Dept(10,"财务部");Dept d20=new Dept(20,"市场部");//2.创建雇员数据Emp e579 =new Emp(579,"SMITH");Emp e439 =new Emp(439,"LIXIAOLU");Emp e007 =new Emp(007,"WANGSICONG");Emp e001 =new Emp(001,"KING"); //3.创建角色信息Role r100=new Role(100,"经理");Role r200=new Role(200,"职员");//4.创建权限数据Action a1000=new Action(1000,"雇员入职","emp:add");Action a2000=new Action(2000,"雇员升职","emp:eidit");Action a3000=new Action(3000,"发布公告","news:eidit");Action a6000=new Action(6000,"查看客户信息","customer:list");Action a7000=new Action(7000,"回访记录","customer:add");//5.设置角色和权限的关系r100.setActions(new Action[] {a1000,a2000,a3000,a6000,a7000});r200.setActions(new Action[] {a6000,a7000});//6.设置权限和角色的关系a1000.serRoles(new Role[] {r100});a2000.serRoles(new Role[] {r100});a3000.serRoles(new Role[] {r100});a6000.serRoles(new Role[] {r200});a7000.serRoles(new Role[] {r200});//7.设置部门和角色的关系d10.setRole(r100);d20.setRole(r200);//8.设置角色和部门的关系r100.setDepts(new Dept[] {d10});r200.setDepts(new Dept[] {d20});//9.设置雇员和部门的关系e579.setDept(d10);e439.setDept(d10);e007.setDept(d20);e001.setDept(d20);//10.设置部门和雇员d10.setEmps(new Emp[] {e579,e439});d20.setEmps(new Emp[] {e007,e001});//第二部:取出相应数据//要求可以根据一个员工找到他所以对应的部门,//以及该部门对应的角色,以及每个角色对应的所有权限System.out.println("1.要求可以根据一个员工找到他所以对应的部门,"+ "以及该部门对应的角色,以及每个角色对应的所有权限");System.out.println(e579.getInfo());System.out.println("\t"+e579.getDept().getInfo());System.out.println("-------------------------------");for(int x=0;x<e579.getDept().getEmps().length;x++)System.out.println("\t"+e579.getDept().getEmps()[x].getInfo());System.out.println();System.out.println("\t\t"+e579.getDept().getRole().getInfo());for(int x=0;x<e579.getDept().getRole().getActions().length;x++) {System.out.println("\t\t\t|-"+e579.getDept().getRole().getActions()[x].getInfo());}   System.out.println("--------------------------------------");System.out.println("2、可以根据一个角色找到具备此角色的所有部门,以及该部门下的所有员工");System.out.println(r200.getInfo());for(int x=0;x<r200.getDepts().length;x++) {System.out.println("\t|-"+r200.getDepts()[x].getInfo());for(int y=0;y<r200.getDepts()[x].getEmps().length;y++) {System.out.println("\t\t|-"+r200.getDepts()[x].getEmps()[y].getInfo());}}//------------------------------------------System.out.println("3,根据一个权限列出具备有该权限的所有的角色,\n"+ "  以及每一个角色下对应的所有部门,以及每个部门中的所有员工。 ");System.out.println(a1000.getInfo());for(int x=0;x<a1000.getRolese().length;x++) {System.out.println("\t|-"+a1000.getRolese()[x].getInfo());for(int y=0;y<a1000.getRolese()[x].getDepts().length;y++) {System.out.println("\t\t|-"+a1000.getRolese()[x].getDepts()[y].getInfo());for(int z=0;z<a1000.getRolese()[x].getDepts()[y].getEmps().length;z++) {System.out.println("\t\t\t|-"+a1000.getRolese()[x].getDepts()[y].getEmps()[z].getInfo());}}}}}

数据表与简单java类映射(角色权限)相关推荐

  1. 数据表与简单Java类映射转换(一对多、多对多、角色与权限) - Java基础知识 6

                                                            目录 数据表与简单Java类映射转换 一对多映射 多对多映射 角色与权限 学习笔记 数据 ...

  2. Java 第9 章 : 数据表与简单Java类映射转换

    课时38:综合实战:数据表与简单Java类映射转换 简单Java类是现在面向对象设计的主要分析基础,但是对于实际的开发之中简单Java类的定义来源是有依据的,往往都是根据数据标的结构来实现简单Java ...

  3. 数据表与简单Java类映射转换

    综合实战:数据表与简单Java类映射数据转换 简单Java类是现在面向对象设计的主要分析基础,但是对于实际开发之中简单Java类的定义来源是有依据的,往往都是根据数据表的结构来实现简单Java类. 在 ...

  4. 部门与雇员-数据表与简单Java类映射转换

    // 部门与雇员--数据表与简单Java类映射转换 package com.demo; //部门 class Dept {     private long deptno ; //部门编号     p ...

  5. java引用其他类的数据头文件_Java 实现数据表与简单Java类映射转换

    我们在程序开发过程中往往会使用简单Java类进行数据表结构的描述,本文主要介绍如何简单Java类与数据表之间的转换. 首先,先简单介绍一下数据表与简单Java类的相关概念对比: 表的定义 → 实体表设 ...

  6. #Java笔记 #程序实现:数据表与简单Java

    刚开始学JAVA,从笔记做起! program 2 数据表与简单Java映射 目的 这实际上是我自己写的第一个Java程序,实现了比较简单的一个想法,还是特别开心的. <第一行代码 JAVA&g ...

  7. java 数据对_数据表与简单java类(一对多)

    emp表:empno,ename,job,sal,comm,mgr,deptno dept表:deptno,dname,loc 要求可以通过程序描述出如下对应关系 一个部门有多个部员,并且可以输出一个 ...

  8. java查询mysql装载bean_jsp与javabean链接mysql数据库并查询数据表的简单实例源码

    jsp与javabean链接mysql数据库并查询数据表的简单实例源码.这个简单的实例是给新手学习的,或者一些高手临时忘记怎么使用jsp操作mysql数据库时候查找的,包括了建立mysql数据库连接的 ...

  9. java用户角色权限管理 只显示姓_扩展RBAC用户角色权限设计方案

    RBAC(Role-Based Access Control,基于角色的访问控制),就是用户通过角色与权限进行关联.简单地说,一个用户拥有若干角色,每一个角色拥有若干权限.这样,就构造成"用 ...

  10. 简单Java类映射转换

    现有部门和雇员两个关系表: 数据表之间的对应信息为: 一个部门有多个雇员: 一个雇员属于一个部门: 一个雇员有一个领导: 在简单Java类中实现,要求可以: 根据部门信息获得以下内容 一个部门的完整信 ...

最新文章

  1. 四本关于意识问题的英文新书
  2. html自动刷新倒计时,基于JavaScript实现自动更新倒计时效果
  3. More Effective C# Item3 : 运行时检查泛型参数的类型并提供特定的算法
  4. python scipy模块文档_scipy模块stats文档
  5. JDBC中的Statement和PreparedStatement的区别
  6. Hive数仓基本概念介绍
  7. JDK Frame内容区绘制边框
  8. python快速开发 数据管理网站_GitHub - AngelLiang/kingWeb: Python django后台快速开发框架...
  9. 给大家分享10个值得关注的C语言开源项目
  10. 服务器添加打印机显示没有权限,无法连接打印机(没有权限使用网络资源)解决方法和原因...
  11. uniapp在移动端软键盘监听(弹出,收起),及影响定位布局的问题
  12. iphone刷基带_揭秘:iPhone6S开机白苹果维修、安卓机刷基带分享
  13. JDK1.8 关于list集合Lambda的使用
  14. 山科大 6-1 sdust-Java-可实现多种排序的Book类 (20 分)(18 软件 期中考试函数1)
  15. 告别平淡(平庸)从做难事儿开始
  16. MATLAB画曲线图
  17. 地域和地方的区别_经济区域和区域经济的区别和联系是什么
  18. OSChina 周一乱弹 ——老东西!爷爷我!帮你拿!
  19. QT驾校科目考试系统——从实现到发布
  20. Linux vim设定Tab键缩进

热门文章

  1. WPF Binding表达式
  2. 2018中国国际大数据大会  助力大数据与实体经济深度融合
  3. 关于核磁共振项目的硬件理解
  4. 每天进步一点点————MUMA架构优化和应用优化
  5. revel MySQL_mysql – 如何在Revel Controller中访问Gorm?
  6. 做最好的自己——摘自李镇西的《做最好的老师》
  7. RedHat7.6 Linux系统图形界面安装教程
  8. REST Assured 1 - REST Assured 介绍
  9. 6 生僻字_抖音《生僻字》的字词成语解释完整版
  10. Mac上的python的数据分析与挖掘学习之路(一)