Java中一对多映射关联关系

来源:互联网 发布:数据库系统的作用 编辑:程序博客网 时间:2024/06/05 01:19

1:Province类

package com.mldn.demo;


public class Province {
private int pid;
private String name;
private City[] cities;//一个省份对应多个城市
public Province() {
}
public Province(int pid, String name) {
this.pid = pid;
this.name = name;
}
public int getPid() {
return pid;
}
public void setPid(int pid) {
this.pid = pid;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public City[] getCities() {
return cities;
}
public void setCities(City[] cities) {
this.cities = cities;
}
public String getInfo(){
return "\t省份编号: "+this.pid+"\t省份名称: "+this.name;
}
}


2:City类:

package com.mldn.demo;


public class City {
private int cid;
private String  name;
private Province province;//一个城市对应一个省份
public City() {
}
public City(int cid, String name) {
this.cid = cid;
this.name = name;
}
public int getCid() {
return cid;
}
public void setCid(int cid) {
this.cid = cid;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Province getProvince() {
return province;
}
public void setProvince(Province province) {
this.province = province;
}
public String getInfo(){
return "\t城市编号: "+this.cid+"\t城市名称: "+this.name;
}
}


3:Java中一对多映射关联关系


package com.mldn.demo;
/**
 * Java中的[一对多]映射关联关系:emp-dept表
 * emp:员工表   dept:部门表
 * 要求:1)一个部门有多个员工
 *     2)一个员工属于一个部门
 *     3)一个员工有0个或者1个领导
 * @author pqd
 */
public class OneToManyDemo {
public static void main(String[] args) {
//1:设置Emp类与数据表emp表之间的字段对应关系,Dept类与数据表dpet表之间的字段对应关系
Dept dept=new Dept(10,"ACCOUNTING","BeiJing");
//2:设置emp表与dept表之间的外键关系[通过设置Emp类与Dept类之间的引用关系]
Emp empA=new Emp(7369,"SMITH","CLERK",800.0,100.0);
Emp empB=new Emp(7902,"ALICE","MANAGER",900.0,150.0);
Emp empC=new Emp(7369,"KING","PRESIDENT",1000.0,120.0);
//3:通过Emp类与Dept类之间的引用关系,获取Emp与Dept类的对象数据
empA.setDpet(dept);
empB.setDpet(dept);
empC.setDpet(dept);
empA.setMgr(empB);
empB.setMgr(empC);
dept.setEmps(new Emp[]{empA,empB,empC});
//案例一:通过一个员工empA找到对应的部门
System.out.println(empA.getInfo());
System.out.println("\t通过员工"+empA.getEname()+"找到对应的部门信息");
System.out.println(empA.getDpet().getInfo());
System.out.println("----------------------------------------------------");
//案例二:通过一个员工empB找到对应的领导
System.out.println(empB.getInfo());
System.out.println("\t通过员工"+empB.getEname()+"找到对应的领导信息");
System.out.println(empB.getMgr().getInfo());
System.out.println("====================================================");
//案例三:通过一个部门empA找到对应的所有的雇员
System.out.println(dept);
System.out.println("\t通过部门"+dept.getDname()+"找到对应的所有的员工信息");
for(int x=0;x<dept.getEmps().length;x++){
System.out.println(dept.getEmps()[x].getInfo());
}
}
}

原创粉丝点击