• 多对多映射(java的引用)


    
    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 role;
        }
        public String getInfo(){
            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 setUser(User users[]){
            this.users = users;
        }
    
        public void setGroups(Group[] groups) {
            this.groups = groups;
        }
    
        public User[] getUser(){
            return users;
        }
    
        public Group[] getGroups() {
            return this.groups;
        }
    
        public String getInfo(){
            return "角色id"+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 setActions(Action actions[]){
            this.actions = actions;
        }
    
        public void setRoles(Role[] roles) {
            this.roles = roles;
        }
    
        public Action[] getActions() {
            return this.actions;
        }
    
        public Role[] getRoles() {
            return this.roles;
        }
    
        public String getInfo(){
            return "权限组id"+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 "权限id"+this.aid+"权限名"+this.title+"权限路径"+this.url;
        }
    }
    public class JavaDemo {
        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,"新闻管理","http://");
            Action act2 = new Action(2,"用户管理","http://");
            Action act3 = new Action(3,"备份管理","http://");
            Action act4 = new Action(4,"缓存管理","http://");
            //3.定义权限组信息
            Group g1 = new Group(1,"管理员");
            Group g2 = new Group(1,"信息管理员");
            //4.定义角色信息
            Role r1 = new Role(10,"超级管理员角色");
            Role r2 = new Role(20,"信息管理员角色");
            //5 设置权限组与权限的关系,一对多关系
            act1.setGroup(g1);//权限与权限组的关系
            act2.setGroup(g1);
            act3.setGroup(g2);
            act4.setGroup(g2);
            g1.setActions(new Action[]{act1,act2});
            g2.setActions(new Action[]{act3,act4});
            //6.权限组与角色关系
            r1.setGroups(new Group[]{g1,g2});
            r2.setGroups(new Group[]{g2});
            g1.setRoles(new Role[]{r1});
            g2.setRoles(new Role[]{r1,r2});
            //7.定义用户与角色的关系
            ua.setRole(r1);
            ub.setRole(r1);
            ub.setRole(r2);
            r1.setUser(new User[]{ua,ub});
            r2.setUser(new User[]{ub});
    
            System.out.println(ua.getInfo());
            System.out.println("	[角色]"+ua.getRole().getInfo());
    
            //一个权限可以输出具备此权限的角色
            System.out.println(act1.getInfo());
            for (int x =0;x<act1.getGroup().getRoles().length;x++){
                System.out.println("		-【角色】"+act1.getGroup().getRoles()[x].getInfo());
                for (int y=0;y<act1.getGroup().getRoles()[x].getUser().length;y++){
                    System.out.println("			-【用户】"+act1.getGroup().getRoles()[x].getUser()[y].getInfo());
                }
            }
        }
    }
    

      

  • 相关阅读:
    简单的描述关于开发部署产生401,500的错误处理
    文件的批量打包下载
    json的序列化与反序列化
    实现MD5的加密和解密
    dropdownlist的OnSelectedIndexChanged方法不触发
    sqlserver错误2,error 40
    C#存储过程调用的三个方法
    SQL Server 错误:924 解决方法
    判断是否在时间间隔内
    切面添加日志
  • 原文地址:https://www.cnblogs.com/LoveGdx/p/11889364.html
Copyright © 2020-2023  润新知