java引用其他类的数据头文件_Java 实现数据表与简单Java类映射转换
我們在程序開發(fā)過程中往往會使用簡單Java類進(jìn)行數(shù)據(jù)表結(jié)構(gòu)的描述,本文主要介紹如何簡單Java類與數(shù)據(jù)表之間的轉(zhuǎn)換。
首先,先簡單介紹一下數(shù)據(jù)表與簡單Java類的相關(guān)概念對比:
- 表的定義 → 實體表設(shè)計
- 表的字段 → 類的成員屬性
- 表的外鍵關(guān)聯(lián) → 對象引用關(guān)聯(lián)
- 表的記錄 → 類的實例化對象
- 表的多行記錄 → 對象數(shù)組
在數(shù)據(jù)庫表設(shè)計時,我們想要描述就部門與員工歸屬部門的關(guān)聯(lián)關(guān)系,通常會設(shè)計兩張表,部門表和員工信息表,如下Department表、Employees表:
通過上述兩張表可以提取出如下邏輯關(guān)系:
- 每個員工歸屬一個領(lǐng)導(dǎo)
- 每個員工歸屬于一個部門
- 每個部門包含的員工
那么如何描述表數(shù)據(jù)與關(guān)系呢?為了描述上述兩張表,我們需要根據(jù)表結(jié)構(gòu)定義實體類結(jié)構(gòu),通過成員屬性的引用關(guān)系描述表連接(邏輯關(guān)系)。
我們通過定義Department類來描述Department表,其中我們使用emp屬性描述一個部門包含多個員工的邏輯關(guān)系,因為一個部門包含多個員工, 因此使用對象數(shù)組來描述,代碼如下:
?class ?Department? {? /*部門ID*/? private String deptNumber ; ? ? ?/* 部門名稱*/? private String deptName; ? ? ?/*一個部門包含的員工*/? private Employees emp [] ; ?? public ?Department(String number, String name) { ? this.deptNumber = number ;? this.deptName = name ;? }?? public void setEmp(Employees [] ?emp) {? this.emp = emp ;? }? ? public Employees [] getEmp() {? return this.emp ; ? }?? public String deptInfo() {? return "部門ID:" + this.deptNumber +" -> " + "部門名稱:" + this.deptName ;? }?}我們通過定義Employees類來描述Employees表,其中我們使用deptNumber屬性描述每個員工歸屬一個部門的邏輯關(guān)系,使用leader屬性描述每個員工歸屬一個領(lǐng)導(dǎo)的邏輯關(guān)系,代碼如下:
?class Employees{? private String empNumber;? private String empName ;? ? ?/*每個員工歸屬一個部門*/? private ?Department deptNumber ;? private String empLevel ;? ? ?/*每個員工歸屬一個領(lǐng)導(dǎo)*/? private Employees leader ;? ? public Employees(String empNumber,String empName,String empLevel) {? this.empNumber = empNumber ;? this.empName = empName ;? this.empLevel = empLevel ;? }? ? public void setDeptNumber(Department deptNumber) {? this.deptNumber = ?deptNumber;? }? ? public void setLeader(Employees leader) {? this.leader = leader ;? }? public Employees getLeader() {? return this.leader ;? }? public Department getDept() {? return this.deptNumber ;? }? ? public String empInfo() {? return "員工編號:"+ this.empNumber+" -> " ?+ "姓名:" + this.empName+" -> " + "級別:" + this.empLevel ;? }?}如下,我們通過實例化Department、Employees對象,設(shè)置屬性數(shù)據(jù),并根據(jù)引用關(guān)系可以獲取數(shù)據(jù)內(nèi)容。
?public class ArrayDemo {? public static void main(String arg []) {? Department dept1 = new Department("1", "測試部") ;? Department dept2 = new Department("2", "總經(jīng)辦") ;? Employees emp1 = new Employees("9527", "群群", "架構(gòu)師") ;? Employees emp2 = new Employees("9528", "嘰嘰", "架構(gòu)師") ;? Employees emp3 = new Employees("9529", "琳琳", "總經(jīng)理") ;? ? emp1.setDeptNumber(dept1);? emp2.setDeptNumber(dept1);? emp3.setDeptNumber(dept2);? emp1.setLeader(emp3);? emp2.setLeader(emp3);? ? dept1.setEmp(new Employees [] {emp1,emp2});? dept2.setEmp(new Employees [] {emp3});?? /*? * 查看測試部下所有員工? */? System.out.println(dept1.deptInfo());? for (Employees employees : dept1.getEmp()) {? System.out.println("所含員工信息: "+ employees.empInfo() + " ? ? 員工上級領(lǐng)導(dǎo)信息: "+ employees.getLeader().empInfo());? ? }? }? ? ?}獲取數(shù)據(jù)如下:
?部門ID:1 -> 部門名稱:測試部?所含員工信息: 員工編號:9527 -> 姓名:群群 -> 級別:架構(gòu)師? ? ? 員工上級領(lǐng)導(dǎo)信息: 員工編號:9529 -> 姓名:琳琳 -> 級別:總經(jīng)理?所含員工信息: 員工編號:9528 -> 姓名:嘰嘰 -> 級別:架構(gòu)師? ? ? 員工上級領(lǐng)導(dǎo)信息: 員工編號:9529 -> 姓名:琳琳 -> 級別:總經(jīng)理總結(jié)
以上是生活随笔為你收集整理的java引用其他类的数据头文件_Java 实现数据表与简单Java类映射转换的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: stm32搭建mqtt_STM32+ES
- 下一篇: java nio connect_Jav