数据表和简单的Java转换 _引用关系的实战案例
要进行关系设计,该数据表对应有如下的几个关系 一。 一个雇员属于一个部门,需要追加部门引用; 二。一个雇员有一个领导,领导一定是自身关联,自身引用 三。一个部门有多个雇员
//部门类class Dept{ private int deptno;//部门编号 private String dname;//部门名称 private String loc;//部门位置 private Emp emps[];//“引用关系” 多个雇员,描述多这个概念应该使用对象数组进行完成 //明确定义一个无参构造 public Dept(){ } public Dept(int deptno,String dname,String loc){//有参构造 this.deptno = deptno; this.dname = dname; this.loc = loc; } //setter方法 public void setDeptno(int d){ this.deptno = d; } public void setDname(String n){ this.dname = n; } public void setLoc(String l){ this.loc = l; } //对象数组的setter方法 public void setEmp(Emp[] e){ this.emps = e ; } //getter方法 public int getDeptno(){ return deptno; } public String getDname(){ return dname; } public String getLoc(){ return loc; } //对象数组的getter方法 public Emp[] getEmp(){ return emps; } //取得完整信息 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(){//无参构造 } 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 ; } //setter方法 public void setEmpno(int e){ this.empno = e; } public void setEname(String n){ this.ename = n ; } public void setJob(String j){ this.job = j ; } public void setSal(double s){ this.sal = s ; } public void setComm(double c){ this.comm = c ; } public void setMgr(Emp m){ this.mgr = m; } public void setDept(Dept d){ this.dept = d; } //getter方法 public int getEmpno(){ return empno; } public String getEname(){ return ename; } public String getJbo(){ return job; } public double getSal(){ return sal; } public double getComm(){ return comm; } public Emp getMgr(){ return mgr; } public Dept getDept(){ return dept; } public String getInfo(){//取得完整信息 return "雇员编号:" + this.empno + ",姓名:" + this.ename + ",职位:" + this.job + ",工资:" + this.sal + ",佣金:" + this.comm ; } }//测试类,设置数据并取出public class TestDemo { public static void main(String[] args) { // 产生各自的独立对象,设置数据 Dept dept = new Dept(10,"ACCOUNTING","New York"); Emp ea = new Emp(1234,"Yiyao","CLERK",900.0,0.0); Emp eb = new Emp(1235,"Acan", "MANAGER",4000.0,9.0); Emp ec = new Emp(1236,"Dramatic","PRESIDENT",9000.0,80.0); //设置雇员和领导关系 ea.setMgr(eb); eb.setMgr(ec); //设置雇员和部门关系 ea.setDept(dept); eb.setDept(dept); ec.setDept(dept); //部门与雇员 dept.setEmp(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("-----------------------------------------");//分割线 System.out.println(dept.getInfo()); for(int x = 0; x < dept.getEmp().length; x++){ System.out.println("\t|-" + dept.getEmp()[x].getInfo()); if(dept.getEmp()[x].getMgr() != null){ System.out.println("\t\t|-" + dept.getEmp()[x].getMgr().getInfo()); } } } }
//部门类class Dept{ private int deptno;//部门编号 private String dname;//部门名称 private String loc;//部门位置 private Emp emps[];//“引用关系” 多个雇员,描述多这个概念应该使用对象数组进行完成 //明确定义一个无参构造 public Dept(){ } public Dept(int deptno,String dname,String loc){//有参构造 this.deptno = deptno; this.dname = dname; this.loc = loc; } //setter方法 public void setDeptno(int d){ this.deptno = d; } public void setDname(String n){ this.dname = n; } public void setLoc(String l){ this.loc = l; } //对象数组的setter方法 public void setEmp(Emp[] e){ this.emps = e ; } //getter方法 public int getDeptno(){ return deptno; } public String getDname(){ return dname; } public String getLoc(){ return loc; } //对象数组的getter方法 public Emp[] getEmp(){ return emps; } //取得完整信息 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(){//无参构造 } 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 ; } //setter方法 public void setEmpno(int e){ this.empno = e; } public void setEname(String n){ this.ename = n ; } public void setJob(String j){ this.job = j ; } public void setSal(double s){ this.sal = s ; } public void setComm(double c){ this.comm = c ; } public void setMgr(Emp m){ this.mgr = m; } public void setDept(Dept d){ this.dept = d; } //getter方法 public int getEmpno(){ return empno; } public String getEname(){ return ename; } public String getJbo(){ return job; } public double getSal(){ return sal; } public double getComm(){ return comm; } public Emp getMgr(){ return mgr; } public Dept getDept(){ return dept; } public String getInfo(){//取得完整信息 return "雇员编号:" + this.empno + ",姓名:" + this.ename + ",职位:" + this.job + ",工资:" + this.sal + ",佣金:" + this.comm ; } }//测试类,设置数据并取出public class TestDemo { public static void main(String[] args) { // 产生各自的独立对象,设置数据 Dept dept = new Dept(10,"ACCOUNTING","New York"); Emp ea = new Emp(1234,"Yiyao","CLERK",900.0,0.0); Emp eb = new Emp(1235,"Acan", "MANAGER",4000.0,9.0); Emp ec = new Emp(1236,"Dramatic","PRESIDENT",9000.0,80.0); //设置雇员和领导关系 ea.setMgr(eb); eb.setMgr(ec); //设置雇员和部门关系 ea.setDept(dept); eb.setDept(dept); ec.setDept(dept); //部门与雇员 dept.setEmp(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("-----------------------------------------");//分割线 System.out.println(dept.getInfo()); for(int x = 0; x < dept.getEmp().length; x++){ System.out.println("\t|-" + dept.getEmp()[x].getInfo()); if(dept.getEmp()[x].getMgr() != null){ System.out.println("\t\t|-" + dept.getEmp()[x].getMgr().getInfo()); } } } }
相关文章:
Java 基础 byte[]与各种数据类型互相转换的简单示例
Atas ialah kandungan terperinci 数据表和简单的Java转换 _引用关系的实战案例. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Artikel ini menganalisis empat kerangka JavaScript teratas (React, Angular, Vue, Svelte) pada tahun 2025, membandingkan prestasi, skalabilitas, dan prospek masa depan mereka. Walaupun semuanya kekal dominan kerana komuniti dan ekosistem yang kuat, popul mereka yang relatif

Artikel ini menangani kelemahan CVE-2022-1471 dalam Snakeyaml, kecacatan kritikal yang membolehkan pelaksanaan kod jauh. Ia memperincikan bagaimana peningkatan aplikasi boot musim bunga ke snakeyaml 1.33 atau lebih lama mengurangkan risiko ini, menekankan bahawa kemas kini ketergantungan

Kelas kelas Java melibatkan pemuatan, menghubungkan, dan memulakan kelas menggunakan sistem hierarki dengan bootstrap, lanjutan, dan pemuat kelas aplikasi. Model delegasi induk memastikan kelas teras dimuatkan dahulu, yang mempengaruhi LOA kelas tersuai

Artikel ini membincangkan pelaksanaan caching pelbagai peringkat di Java menggunakan kafein dan cache jambu untuk meningkatkan prestasi aplikasi. Ia meliputi persediaan, integrasi, dan faedah prestasi, bersama -sama dengan Pengurusan Dasar Konfigurasi dan Pengusiran PRA Terbaik

Node.js 20 dengan ketara meningkatkan prestasi melalui penambahbaikan enjin V8, terutamanya pengumpulan sampah yang lebih cepat dan I/O. Ciri -ciri baru termasuk sokongan webassembly yang lebih baik dan alat penyahpepijatan halus, meningkatkan produktiviti pemaju dan kelajuan aplikasi.

Iceberg, format meja terbuka untuk dataset analitik yang besar, meningkatkan prestasi data dan skalabiliti. Ia menangani batasan parket/orc melalui pengurusan metadata dalaman, membolehkan evolusi skema yang cekap, perjalanan masa, serentak w

Artikel ini meneroka kaedah untuk berkongsi data antara langkah -langkah timun, membandingkan konteks senario, pembolehubah global, lulus argumen, dan struktur data. Ia menekankan amalan terbaik untuk mengekalkan, termasuk penggunaan konteks ringkas, deskriptif

Artikel ini meneroka mengintegrasikan pengaturcaraan berfungsi ke dalam Java menggunakan ekspresi Lambda, API Streams, rujukan kaedah, dan pilihan. Ia menyoroti faedah seperti kebolehbacaan dan kebolehkerjaan kod yang lebih baik melalui kesimpulan dan kebolehubahan
