数据表与简单Java类映射(内容不全)

概念

在这里插入图片描述
对于数据表与简单java类之间的映射最好的解决步骤,先抛开所有的关联字段不看,写出本类的基本组成,而后通过引用配置关联字段的关系。
在这里插入图片描述

例子

第一步 根据表的结构关系进行对象的配置

第二步 根据要求通过结构获取数据
在这里插入图片描述

package com.msc.example;

import javax.swing.*;

class Privilege{
   private long pid ;
   private String pname ;
   private Role roles[] ;
   public Privilege() {};
   public Privilege(long pid,String pname){
       this.pid = pid ;
       this.pname = pname ;
   }
   public void setRoles(Role[] roles) {
        this.roles = roles;
    }
   public void setPid(long pid) {
        this.pid = pid;
    }
   public void setPname(String pname) {
        this.pname = pname;
    }
   public long getPid() {
        return pid;
    }
   public Role[] getRoles() {
        return roles;
    }
   public String getPname() {
        return pname;
    }
   public String getInfo(){
       return "【权限信息】 权限ID = " + this.pid + ",权限名称 = " + this.pname;
    }
}
class Role{
   private long rid ;
   private String rname ;
   private Member members[] ;
   private Privilege privileges[] ;
   public Role() {} ;
   public Role(long rid,String rname){
       this.rid = rid ;
       this.rname = rname ;
   }
   public long getRid() {
        return rid;
    }
   public void setRid(long rid) {
        this.rid = rid;
    }
   public String getRname() {
        return rname;
    }
   public void setRname(String rname) {
        this.rname = rname;
    }
   public Member[] getMembers() {
        return members;
    }
   public void setMembers(Member[] members) {
        this.members = members;
    }
   public Privilege[] getPrivileges() {
        return privileges;
    }
   public void setPrivileges(Privilege[] privileges) {
        this.privileges = privileges;
    }
    public String getInfo(){
        return "【角色信息】 角色ID = " + this.rid + ",角色名字 = " + this.rname;
    }
}
class Member{
    private long mid ;
    private String mname ;
    private Role roles[] ;
    public Member() {} ;
    public  Member(long mid,String mname){
        this.mid = mid ;
        this. mname = mname ;
    }
    public void setRoles(Role[] roles) {
        this.roles = roles;
    }
    public Role[] getRoles() {
        return roles;
    }
    public long getMid() {
        return mid;
    }
    public void setMid(long mid) {
        this.mid = mid;
    }
    public String getMname() {
        return mname;
    }
    public void setMname(String mname) {
        this.mname = mname;
    }
    public String getInfo(){
        return "【用户信息】 用户ID = " + this.mid + ",用户姓名 = " + this.mname;
    }
}

public class MapDemo {
    public static void main(String[] args) {
 
        memA.setRoles(new Role[]{roleA,roleC});
        memB.setRoles(new Role[]{roleB});
        memC.setRoles(new Role[]{roleD});
        memD.setRoles(new Role[]{roleB});

        roleA.setMembers(new Member[]{memA});
        roleB.setMembers(new Member[]{memB,memC});
        roleC.setMembers(new Member[]{memA});
        roleD.setMembers(new Member[]{memD});

        roleA.setPrivileges(new Privilege[]{priA,priC});
        roleB.setPrivileges(new Privilege[]{priA,priB,priC});
        roleC.setPrivileges(new Privilege[]{priC});
        roleD.setPrivileges(new Privilege[]{priA});

        priA.setRoles(new Role[]{roleA,roleB,roleD});
        priB.setRoles(new Role[]{roleB});
        priC.setRoles(new Role[]{roleC});
        System.out.println("--------用户找角色+权限: "+memA.getMname()+"-------------");
        for(Role role : memA.getRoles()){
            System.out.println(memA.getInfo()+role.getInfo());
            for(Privilege pri : role.getPrivileges()){
                System.out.println("  "+pri.getInfo());
            }
        }

    /*    for(int i = 0 ; i < memA.getRoles().length;i++){
            System.out.println(memA.getInfo()+memA.getRoles()[i].getInfo());
            for(int j = 0 ; j < memA.getRoles()[i].getPrivileges().length;j++){
                System.out.println("  "+memA.getRoles()[i].getPrivileges()[j].getInfo());
            }
        }*/
        System.out.println("-------------角色找用户权限: "+roleB.getRname()+"-------------");
        System.out.println(roleB.getInfo());
        for(Member mem : roleB.getMembers()){
            System.out.println("  " + mem.getInfo());
        }
        for (Privilege pri : roleB.getPrivileges()){
            System.out.println("  " + pri.getInfo());
        }
        System.out.println("------------根据权限找用户:"+priB.getPname()+"-------------");
        for(Role role : priB.getRoles()){
            for(Member mem : role.getMembers()){
                System.out.println("  " + mem.getInfo());
            }
        }
    }
}

输出

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

隔壁de小刘

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值