• 菜鸡的Java笔记


    要求:
        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;
            this.name = name;
            this.password;
        }
        public String getlnfo(){
            return     "用户ID:"+this.userid
                    +",姓名:"+this.name
                    +",密码:"+this.password;
        }
    }
    class Role{  // 角色
        private int rid;
        private String title;
        public User(int rid,String title){
            this.rid = rid;
            this.title = title;
        }
        public String getlnfo(){
            return     "角色编号:"+this.rid
                    +",名称:"+this.title;
        }
    }
    class Group{ // 权限
        private int gid;
        private String title;
        public User(int gid,String title){
            this.gid = gid;
            this.title = title;
        }
        public String getlnfo(){
            return     "权限组编号:"+this.gid
                    +",组名称:"+this.title;
        }
    }
    classAction{// 权限
        private int aid;
        private String title;
        private String url;
        public User(int aid,String title,String url){
            this.rid = aid;
            this.title = title;
            this.url = url;
        }
        public String getlnfo(){
            return     "权限编号:"+this.aid
                    +",权限名称:"+this.title
                    +",路径"+this.url;
        }
    }    
    public class manyToManyMapping{
        public static void main(String args[]){
            
        }
        
    }

       
        第二步:设置关系
            一个角色包含有多个用户,一对多关系
            一个权限组包含多个权限,属于一对多
            一个角色对应有多个权限组,每个权限组可能有多个角色,多对多

    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;
            this.name = name;
            this.password = password;
        }
        public void setRole(Role role){
            this.role = role;
        }
        public Role getRole(){
            return this.role;
        }
        public String getlnfo(){
            return     "用户ID:"+this.userid
                    +",姓名:"+this.name
                    +",密码:"+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 setUser(User users[]){
            this.users = users;
        }
        public User[] getUser(){
            return this.users;
        }
        public String getlnfo(){
            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 getlnfo(){
            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 getlnfo(){
            return     "权限编号:"+this.aid
                    +",权限名称:"+this.title
                    +",路径"+this.url;
        }
    }
    public class manyToManyMapping{
        public static void main(String args[]){
            
        }
        
    }

            分杀完毕。迅速,一定是不需要使用脑子就直接写出来的
        第三步:设置关系

    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;
            this.name = name;
            this.password = password;
        }
        public void setRole(Role role){
            this.role = role;
        }
        public Role getRole(){
            return this.role;
        }
        public String getlnfo(){
            return     "用户ID:"+this.userid
                    +",姓名:"+this.name
                    +",密码:"+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 getlnfo(){
            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 getlnfo(){
            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 getlnfo(){
            return     "权限编号:"+this.aid
                    +",权限名称:"+this.title
                    +",路径"+this.url;
        }
    }
    public class manyToManyMapping{
        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,"新闻管理","naws");
            Action act2 = new Action(1,"用户管理","users");
            Action act3 = new Action(1,"备份管理","bks");
            Action act4 = new Action(1,"缓存管理","caches");
            Action act5 = new Action(1,"数据管理","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.setGroup(g1); // 权限与权限组的关系
            act2.setGroup(g1);
            act3.setGroup(g2);
            act4.setGroup(g2);
            act5.setGroup(g3);
            g1.setActions(new Action[]{act1,act2});
            g2.setActions(new Action[]{act3,act4});
            g3.setActions(new Action[]{act5});
            //6.权限组与角色关系
            r1.setGroups(new Group[]{g1,g2,g3});
            r1.setGroups(new Group[]{g2,g3});
            g1.setRoles(new Role []{r1});
            g2.setRoles(new Role []{r1,r2});
            g3.setRoles(new Role []{r1,r2});
            //7.定义用户与角色关系
            ua.setRole(r1);
            ub.setRole(r2);
            uc.setRole(r2);
            r1.setUsers(new User[]{ua});
            r2.setUsers(new User[]{ub,uc});
            //第二步:根据要求通过关系取出数据
            //可以根据一个用户输出它对应的角色以及每个角色对应的权限,以及包含的具体的权限详情:
            System.out.println(ua.getlnfo());
            System.out.println("	|-【角色】"+ua.getRole().getlnfo());
            for(int x = 0;x<ua.getRole().getGroups().length;x++){
                System.out.println("		|-【权限组】"+ua.getRole().getGroups()[x].getlnfo());
                for(int y = 0;y<ua.getRole().getGroups()[x].getActions().length;y++){
                    System.out.println("			|-【权限】"+ua.getRole().getGroups()[x].getActions()[y].getlnfo());
                }
            }
            System.out.println("***************************");
            //一个权限可以输出具备此权限的角色,以及具备此角色的所有管理员,同时输出该权限的所有权限详情
            System.out.println(act1.getlnfo());
            //通过权限找到权限对应的权限组,一个权限组有多个角色
            for(int x = 0;x<act1.getGroup().getRoles().length;x++){
                System.out.println("		|-【角色】 "+act1.getGroup().getRoles()[x].getlnfo());
                for(int y = 0;y<act1.getGroup().getRoles()[x].getUsers().length;y++){
                    System.out.println("			|-【用户】 "+act1.getGroup().getRoles()[x].getUsers()[y].getlnfo());
                }
            }
            System.out.println("***************************");
            //一个角色可以输出它所包含的管理员,每个管理员对应的具体的权限,以及权限详情
            System.out.println(r1.getlnfo());
            for(int x = 0;x<r1.getUsers().length;x++){
                System.out.println("	|-【用户】 "+r1.getUsers()[x].getlnfo());
                for(int y = 0;y<r1.getGroups().length;y++){
                    System.out.println("		|-【权限组】 "+r1.getGroups()[y].getlnfo());
                    for(int z = 0;z<r1.getGroups()[y].getActions().length;z++){
                        System.out.println("			|-【权限】 "+r1.getGroups()[y].getActions()[z].getlnfo());
                    }
                }
            }
        }
    }


            
            引用,引用,引用 就是java基础的核心
        
        总结
            这种转换必须做到零用脑编写

  • 相关阅读:
    java集合-方法
    Java线程池
    java疯狂讲义第18章类的加载和反射
    java疯狂讲义第16章多线程
    JAVA集合-HashMap的实现原理
    类加载-java new一个对象的过程发生了什么/Java对象创建过程
    JVM-java垃圾回收
    JVM-java内存区域
    JVM-java堆-新生代和老年代
    448. 找到所有数组中消失的数字
  • 原文地址:https://www.cnblogs.com/mysterious-killer/p/10048834.html
Copyright © 2020-2023  润新知