数据表与简单java转换/数据表与简单java类映射(一对多)

阅读: 评论:0

数据表与简单java转换/数据表与简单java类映射(一对多)

数据表与简单java转换/数据表与简单java类映射(一对多)

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

在学习oracle的时候使用过了两张数据表:emp、dept表

emp表:empno(员工编号)、ename(员工名)、job、sal(薪金)、comm(佣金)、

mgr(上级编号)、deptno(部门编号),hiredate(受雇日期);

dept表:deptno(部门编号)、dname(部门名称)、loc(地点).

    | - 一个部门有多少个雇员,并且可以输出一个部门的完整信息:(包括雇员信息);

    | - 可以根据一个雇员找到雇员对应的领导信息和雇员所在部门的信息

【实际开发中的简单java类设计原则】通过简单java类的开发以及数据表的使用,可以观察出两者存在关系

    |  - 简单java的名称=实体表名称;

    |  - 简单java类的属性=实体表的字段

    |  - 简单java类的一个对象=表的一行记录

    |  - 外键关系=引用配置


1。先按照给定的关系将所有的基础字段转换为类

class Emp{private String ename;private String empno;private String job;private double sal;private double comm;public Emp() {}public Emp(String ename,String empno,String job,double sal,double comm) {pno=ame=ename;this.job=job;this.sal=sal;thism=comm;}public String getInfo() {return "【Emp】ename :"+ename+"empno:"+empno+"job:"+job+"sal:"+sal+"comm:"+comm;}
}
class Dept{private int deptno;private String dname;private String loc;public Dept() {}public Dept(String dname,String loc,int deptno) {this.deptno=deptno;this.dname=dname;this.loc=loc;}public String getIno() {return "【Dept】deptno :"+deptno+"dname:"+dname+"loc:"+loc;}}public class 一对多 {}

2.随后要进行关系设计,该数据表对应有如下的几个关系

 一。 一个雇员属于一个部门,需要追加部门引用;

二。一个雇员有一个领导,领导一定是自身关联,自身引用

三。一个部门有多个雇员, 

package 数据表与简单java类转换;
class Emp{private String ename;private String empno;private String job;private double sal;private double comm;private Emp mgr;//描述雇员领导private Dept dept;//描述雇员所在部门public Emp() {}public Emp(String ename,String empno,String job,double sal,double comm) {pno=ame=ename;this.job=job;this.sal=sal;thism=comm;}
	public void setMgr(Emp mgr) {=mgr;}public Emp getMgr() {;}public void setDept(Dept dept) {this.dept=dept;}public Dept getDept() {return this.dept;}public String getInfo() {return "【Emp】ename :"+ename+"empno:"+empno+"job:"+job+"sal:"+sal+"comm:"+comm;}
}
class Dept{ private int deptno;private String dname;private String loc; private Emp[] emps;//所有雇员public Dept() {}public Dept(String dname,String loc,int deptno) {this.deptno=deptno;this.dname=dname;this.loc=loc;}public void setEmps(Emp[]emps) {ps=emps;}public Emp[] getEmps() {  ps;}public String getIno() {return "【Dept】deptno :"+deptno+"dname:"+dname+"loc:"+loc;}}public class 一对多 {}
那么此时基本的类定义完成了。

3.实现开发的需求。 

class Emp{private String ename;private double  empno;private String job;private int sal;private int comm;private Emp mgr;//描述雇员领导private Dept dept;//描述雇员所在部门public Emp() {}public Emp(String ename,double empno,String job,int sal,int comm) {pno=ame=ename;this.job=job;this.sal=sal;thism=comm;}public void setMgr(Emp mgr) {=mgr;}public Emp getMgr() {;}public void setDept(Dept dept) {this.dept=dept;}public Dept getDept() {return this.dept;}public String getInfo() {return "【Emp】ename :"+ename+" empno: "+empno+"job:"+job+" sal:"+sal+" comm:"+comm;}
}
class Dept{ private int deptno;private String dname;private String loc; private Emp[] emps;//所有雇员public Dept() {}public Dept(String dname,String loc,int deptno) {this.deptno=deptno;this.dname=dname;this.loc=loc;}public void setEmps(Emp[]emps) {ps=emps;}public Emp[] getEmps() {  ps;}public String getInfo() {return "【Dept】deptno  :"+deptno+" dname: "+dname+" loc: "+loc;}}public class 一对多 {public static void main (String args[]) {//第一步:设置类对象的关系//1.分别创建各自类的实例化对象	Dept dept =new Dept("ACCOUNTING","NEW YORK",10);//会计Emp ea= new Emp("SMITH",007,"CLERK",900,0);//职员Emp eb= new Emp("ALLEN",005,"MANAGER",2560,0);//经理Emp ec= new Emp("KING",001,"PRESIDENT",5000,0);//总裁//2.设置雇员领导的关系ea.setMgr(eb);eb.setMgr(ec);//3.设置雇员和部门的关系ea.setDept(dept);eb.setDept(dept);ec.setDept(dept);//4.设置部门和雇员的关系dept.setEmps(new Emp[] {ea,eb,ec});//5. 一个部门有多少个雇员,并且可以输出一个部门的完整信息:(包括雇员信息)//第二步:进行数据的取得System.out.Info());//输出部门信息for(int x=0;x&Emps().length;x++) {System.out.println("n"&#Emps()[x].getInfo());Emps()[x].getMgr()!=null) {//有领导System.out.println("t|-"&#Emps()[x].getMgr().getInfo());}}System.out.println("====================================================");//可以根据一个雇员找到雇员对应的领导信息和雇员所在部门的信息System.out.Mgr().getInfo());Mgr()!=null) {//有领导System.out.println("t|-"&#Mgr().getInfo());}Dept()!=null) {System.out.println("t|-"&#Dept().getInfo());}}
}
这种关系的匹配以及数据的取出操作,是必须掌握的,也是日后开发的基本模式。

当我们把车也加入进去是如下的样子

class Emp{private String ename;private String  empno;private String job ;private double sal;private Emp mgr;private Dept dept;private Car car;public Emp(){}public Emp(String ename,String empno,String job,double sal) {ame=pno=empno;this.job=job;this.sal=sal;}public void setCar(Car car) {this.car=car;}public Car getCar() {return this.car;}public void setMgr(Emp mgr) {=mgr;}public Emp getMgr() {
; }public void setDept(Dept dept) {this.dept=dept;}public Dept getDept() {return this.dept;}public String getInfo() {return "【Emp】 ename: "&#ame+" empno: "&#pno+" job: "+this.job+" sal: "+this.sal;}}
class Car{private String name;private double  price;private Emp emp;public Car() {}public Car(String name,double price) {this.name=name;this.price=price;}public void setEmp(Emp emp){p=emp;}public  Emp getEmp() {p;}public String getInfo() {return "【Car】 name :"+name+" price: "+price;}
}
class Dept{private String dname;private String deptno;private String loc;private Emp emps[];public Dept() {}public Dept(String dname,String deptno,String loc) {this.dname=dname;this.deptno=deptno;this.loc=loc;}public void setEmps(Emp []emps) {ps=emps;}public Emp[] getEmps() {ps;}public String getInfo() {return "【Dept】 dname: "+this.dname+" deptno: "+this.deptno+" loc: "+this.loc;}}
public class TestDemo{public static void main(String agrs[]) {Dept dept=new Dept("腾讯","123","深圳");Emp ea=new Emp("ruce","13145","CLERK",150000.0);Emp eb=new Emp("baga","1314520","MANAGER",250000.0);Emp ec=new Emp("king","007","PERSIDENT",500000.0);Car car=new Car("兰博基尼",100000000.0);Car cc=new Car("玛莎拉蒂",2000000.0);Car ccc=new Car("风之子",100000000.0);car.setEmp(ea);cc.setEmp(eb);ccc.setEmp(ec);ea.setCar(car);eb.setCar(cc);ec.setCar(ccc);ea.setMgr(eb);eb.setMgr(ec);ea.setDept(dept);eb.setDept(dept);ec.setDept(dept);dept.setEmps(new Emp[] {ea,eb,ec});System.out.Info());for(int x=0;x&Emps().length;x++) {System.out.Emps()[x].getInfo());Emps()[x].getMgr()!=null) {System.out.println("n|-"&#Emps()[x].getMgr().getInfo());}}System.out.println("================================================");System.out.Mgr().getInfo());System.out.println("================================================");Mgr()!=null) {System.out.println("n|-"&#Mgr().getInfo());}Dept()!=null) {System.out.println("n|-"&#Dept().getInfo());}//通过车找到车的人的公司System.out.Emp().getDept().getInfo());    
//通过车找到车的人的公司的老板的车System.out.println("n|--"&#Emp().getMgr().getCar().getInfo());System.out.Emp().getInfo());}
}

本文发布于:2024-02-01 00:31:24,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170671868432514.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:数据表   简单   java
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23