java数据库怎么存储:数据表怎么和java联系起来
java数据库怎么存储:数据表怎么和java联系起来public Dept(int deptno String dname String loc) {private Emp emps [] ; // 多个雇员private int deptno; // 部门编号private String dname; // 部门名称private String loc; // 部门位置
一张数据表如果不能和java语言联系来,他就是仅仅只是一张数据表,今天来介绍一下怎么将数据表和java联系起来,用电脑版打开阅读效果更好哦。
有如下关系图,要求: 一个部门有多个雇员,一个雇员有一个或零个领导。
//getter和setter省略
class Dept {
private int deptno; // 部门编号
private String dname; // 部门名称
private String loc; // 部门位置
private Emp emps [] ; // 多个雇员
public Dept(int deptno String dname String loc) {
this.deptno = deptno;
this.dname = dname;
this.loc = loc;
}
public String getInfo() {
return "部门编号:" this.deptno ",名称:" this.dname ",位置:" this.loc;
}
}
class Emp {
private int empno; // 雇员编号
private String ename; // 雇员姓名
private String job; // 雇员职位
private double sal; // 基本工资
private double comm; // 佣金
private Dept dept ;
private Emp mgr; // 表示雇员对应的领导
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 "雇员编号:" this.empno ",姓名:" this.ename ",职位:" this.job
",工资:" this.sal ",佣金:" this.comm;
}
一个雇员属于一个部门,应该在雇员里面保存部门信息,所以在Emp类中定义有一个dept属性,如果有部门则设置一个Dept类的实例化对象,否则设置为null;
一个部门有多个雇员,如果要描述多这个概念应该使用对象数组完成。所以在Dept类中增加一个Emp类的对象数组(Empemps []);
一个雇员有一个领导,领导信息也就是雇员信息,应该在Emp类中增加领导的自身关联(Emp mgr);
public class TestDemo {
public static void main(String args[]) {
// 第一步:根据表结构描述设置数据
// 1.产生各自的独立对象
Dept dept = new Dept(10 "ACCOUNTING" "New York") ; // 部门信息
Emp ea = new Emp(769 "STH" "CLK" 80.0 0.0) ; // 雇员信息
Emp eb = new Emp(702 "RD" "MAR" 240.0 0.0) ; // 雇员信息
Emp ec = new Emp(739 "KG" "PR" 500.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()); // 领导信息
}
}
}
}
今天的分享就到这里了,大家看完后学会了吗?
如果觉得文章对您有用就加个关注啦~~
欢迎评论留言,提供建议和思路