java将一个表的值修改成另一个表的值 一个java实例对应一个表
转载
1、本次的预计讲解的知识
在之前已经给出了简单Java类一定要和数据表的结构对应上,同时外键需要依靠引用开进行关联,于是本次将针对于Java类做一个功能上的扩充。
2、具体内容
要求通过Java程序描述出dept-emp欢喜,使用字段:
·dept:deptno、dname、loc;
·emp:empno、ename、job、sal、comm、deptno、mgr。
在dept-emp表的关系里面存在有如下的关联:
·一个部门有多个雇员;
·一个雇员有一个或零个领导。
第一步:实现基本字段的转换
class Dept {
private int deptno;
private String dname;
private String loc;
//setter、getter、无参构造略
public Dept(int deptno,String dname,String loc) {
this.deptno = deptno;
this.dname = dname;
this.loc = loc;
}
public String getInfo() {
return "部门编号:" + deptno + ",名称" + dname + ",位置" + loc;
}
}
class Emp {
private int empno;
private String ename;
private String job;
private double sal;
private double comm;
//setter、getter、无参构造略
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() {
return "雇员编号:" + empno + ",姓名" + ename + ",职位" + job + "工资" + sal + "佣金" + comm;
}
}
|
第二步:解决外键的关系
·一个雇员属于一个部门,应该在雇员里面保存部门信息。
|- Emp类;
public Dept getDept() {
return dept;
}
public void setDept(Dept dept) {
this.dept = dept;
}
|
|- 一个部门有多个雇员,如果描述多应该用数组完成,修改Dept类
Emp emps []; //多个雇员
public Emp[] getEmps() {
return emps;
}
public void setEmps(Emp[] emps) {
this.emps = emps;
}
|
·一个雇员有一个领导;
public Emp mgr; //表示雇员对应的领导
public Emp getMgr() {
return mgr;
}
public void setMgr(Emp mgr) {
this.mgr = mgr;
}
|
所有的匹配的映射关系都已经描述出来了。
第三步:设置并取得数据
对于这种映射的方式一定要分两步完成,第一步根据结构设置数据,第二步根据结构取得数据。
·设置数据
public class Demo {
public static void main(String[] args) {
//第一步:设置数据
//1、产生各自的独立对象
Dept dept = new Dept(10,"ACOUNTING","New York");//部门信息
Emp ea = new Emp(7369,"SMITH","CLERK",800.0,0.0);//雇员信息
Emp eb = new Emp(7902,"FORD","MANAGER",2450.0,0.0);//雇员信息
Emp ec = new Emp(7839,"KING","PRESIDENT",5000.0,0.0);//雇员信息
//2、设置雇员和两领导的关系
ea.setMgr(eb);
eb.setMgr(ec);
//3、设置雇员和部门的关系
ea.setDept(dept);//雇员与部门
eb.setDept(dept);//雇员与部门
ec.setDept(dept);//雇员与部门
dept.setEmps(new Emp[]{ea,eb,ec});
//通过人找到车的信息
}
}
|
·取出数据,根据给定结构取出数据,要求如下:
|- 可以根据一个雇员查询他所对应的领导信息和部门信息;
System.out.println(ea.getInfo());
System.out.println("\t|-" + ea.getMgr().getInfo());
System.out.println("\t|-" + ea.getDept().getInfo());
|
|- 可以根据一个部门取出所有的雇员以及每个雇员的领导信息。
System.out.println(dept.getInfo());
for(int x=0; x<dept.getEmps().length; x++) {
System.out.println("\t|-" + dept.getEmps()[x].getInfo());
if(dept.getEmps()[x].getMgr() != null) {
System.out.println("\t\t|-" + dept.getEmps()[x].getMgr().getInfo());
}
}
|
整个代码都是通过代码链进行数据的取出的。
3、总结
可以点任意给出的数据表直接转换为类的形式,并可以设置并取出所有的数据。
本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。