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

public class Dept {
 private int deptno;
 private String deptname;
 private String loc;
 private Emp[] emp;//所有雇员,因为一个部门有很多个员工
 public Emp[] getEmp() {
return emp;
}
public void setEmp(Emp[] emp) {
this.emp = emp;
}
public Dept()
 {}
 public Dept(int deptno,String deptname,String loc)
 {
this.deptno=deptno;
this.deptname=deptname;
this.loc=loc;
 
 }
 public String getInfo()
 {
String result="部门号是"+this.deptno+",部门名是"+this.deptname+",地址是"+this.loc;
return result;
 }
 
 

}







public class Emp {
     private int empno;
     private String ename;
     private String job;
     private double sal;
     private double comm;
     private Emp mgr;//描述雇员领导
     private Dept dept;//描述雇员所在部门,一个员工只在一个部门中
     public Emp getMgr() {
return mgr;
}
public void setMgr(Emp mgr) {
this.mgr = mgr;
}



     public Dept getDept() {
return dept;
}
public void setDept(Dept dept) {
this.dept = dept;
}
public Emp()
     {}
     public Emp(int empno,String ename, String job,double sal,double comm)
     {
        this.empno=empno;
        this.ename=ename;
        this.job=job;
        this.sal=sal;
        this.comm=comm;
     }
     
     public String getInfo()
     {String result="序号是"+this.empno+",名字是"+this.ename+",工作是"+this.job+",工资是"+this.sal+",comm"+this.comm;
    return result;
     }

}



public static void main(String[] args) {
   /**
    * 1设置类对象之间的关系
    * 2进行数据的取得
    */
//第一步:分别创建各自类的对象实例
Dept d=new Dept(1,"java研发部","青岛");
Emp e=new Emp(1,"哈哈","java开发工程师",8000,0.0);
Emp e1=new Emp(2,"安红豆","。net",5900,1.0);
Emp e2=new Emp(3,"安红2豆","c#",5782,2.0);
//设置雇员的领导关系
e.setMgr(e1);
e1.setMgr(e2);//e2对象没有领导,因为他是头。
//设置雇员和部门的关系
e.setDept(d);
e1.setDept(d);
e2.setDept(d);
//设置部门和雇员的关系
d.setEmp(new Emp[] {e,e1,e2});
/*
*第二部:进行数据的取得
*(1)一个部门有多个雇员,可以输出一个部门的完整信息,包括雇员的信息
*/
         System.out.println(d.getInfo());//输出部门信息
         for(int x=0;x<d.getEmp().length;x++)
         {
        System.out.println("\t"+d.getEmp()[x].getInfo());
        if(d.getEmp()[x].getMgr()!=null)
        {
        System.out.println("\t\t"+d.getEmp()[x].getMgr().getInfo()); 
         
        }
         
       
         }
         System.out.println("=====================");
         /*
          * 根据一个雇员找到雇员对应的领导信息和雇员所在部门的信息
          */
         System.out.println(e.getInfo());
         //如果雇员有领导        
         if(e.getMgr()!=null)
         {
        System.out.println("\t其领导是"+e.getMgr().getInfo());
         }
         //如果雇员有部门
         if(e.getDept()!=null)
         {
        System.out.println("\t其部门是"+e.getDept().getInfo());
         }
}


}


结果:

部门号是1,部门名是java研发部,地址是青岛
序号是1,名字是哈哈,工作是java开发工程师,工资是8000.0,comm0.0
序号是2,名字是安红豆,工作是。net,工资是5900.0,comm1.0
序号是2,名字是安红豆,工作是。net,工资是5900.0,comm1.0
序号是3,名字是安红2豆,工作是c#,工资是5782.0,comm2.0
序号是3,名字是安红2豆,工作是c#,工资是5782.0,comm2.0
=====================
序号是1,名字是哈哈,工作是java开发工程师,工资是8000.0,comm0.0
其领导是序号是2,名字是安红豆,工作是。net,工资是5900.0,comm1.0
其部门是部门号是1,部门名是java研发部,地址是青岛




  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值