我们在程序开发过程中往往会使用简单Java类进行数据表结构的描述,本文主要介绍如何简单Java类与数据表之间的转换。

首先,先简单介绍一下数据表与简单Java类的相关概念对比:

  • 表的定义 → 实体表设计
  • 表的字段 → 类的成员属性
  • 表的外键关联 → 对象引用关联
  • 表的记录 → 类的实例化对象
  • 表的多行记录 → 对象数组

在数据库表设计时,我们想要描述就部门与员工归属部门的关联关系,通常会设计两张表,部门表和员工信息表,如下Department表、Employees表:

通过上述两张表可以提取出如下逻辑关系:

  • 每个员工归属一个领导
  • 每个员工归属于一个部门
  • 每个部门包含的员工

那么如何描述表数据与关系呢?为了描述上述两张表,我们需要根据表结构定义实体类结构,通过成员属性的引用关系描述表连接(逻辑关系)。

我们通过定义Department类来描述Department表,其中我们使用emp属性描述一个部门包含多个员工的逻辑关系,因为一个部门包含多个员工, 因此使用对象数组来描述,代码如下:

 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属性描述每个员工归属一个部门的逻辑关系,使用leader属性描述每个员工归属一个领导的逻辑关系,代码如下:

 class Employees{     private String empNumber;     private String empName ;     /*每个员工归属一个部门*/     private  Department deptNumber ;     private String empLevel ;     /*每个员工归属一个领导*/     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对象,设置属性数据,并根据引用关系可以获取数据内容。

 public class ArrayDemo {         public static void main(String arg []) {             Department dept1 = new Department("1", "测试部") ;             Department dept2 = new Department("2", "总经办") ;             Employees emp1 = new Employees("9527", "群群", "架构师") ;             Employees emp2 = new Employees("9528", "叽叽", "架构师") ;             Employees emp3 = new Employees("9529", "琳琳", "总经理") ;                          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() + "        员工上级领导信息:   "+ employees.getLeader().empInfo());                              }         }                   }

获取数据如下:

 部门ID:1 -> 部门名称:测试部 所含员工信息: 员工编号:9527 -> 姓名:群群 -> 级别:架构师         员工上级领导信息:   员工编号:9529 -> 姓名:琳琳 -> 级别:总经理 所含员工信息: 员工编号:9528 -> 姓名:叽叽 -> 级别:架构师         员工上级领导信息:   员工编号:9529 -> 姓名:琳琳 -> 级别:总经理 

java引用其他类的数据头文件_Java 实现数据表与简单Java类映射转换相关推荐

  1. 【C++ 语言】面向对象 ( 类定义 | 限制头文件引用次数 | 构造方法 | 析构方法 )

    文章目录 类的定义 ( 头文件引用次数控制 ) 类的实现 ( 构造函数 | 析构函数 ) CMake 编译配置 类测试 ( 构造析构调用测试 ) 类的定义 ( 头文件引用次数控制 ) 类定义 , 类一 ...

  2. java 数据对_数据表与简单java类(一对多)

    emp表:empno,ename,job,sal,comm,mgr,deptno dept表:deptno,dname,loc 要求可以通过程序描述出如下对应关系 一个部门有多个部员,并且可以输出一个 ...

  3. 习题 8.4 在本章第8.3.3节中分别给出了包含类定义的头文件student.h,包含成员函数定义的源文件student.cpp以及包含主函数的源文件main.cpp。请完善该程序,在类中增加。。。

    C++程序设计(第三版) 谭浩强 习题8.4 个人设计 习题 8.4 在本章第8.3.3节中分别给出了包含类定义的头文件student.h,包含成员函数定义的源文件student.cpp以及包含主函数 ...

  4. string类 string.h头文件 cstring头文件区别以及读取一行字符串总结

    以前一直分不清string类  string.h头文件 cstring头文件的去别,今天ce了一发才稍微弄懂了. 首先C语言中只有string.h头文件,string.h包含了一些字符数组和字符串的函 ...

  5. 习题 8.5 将本章的例8.4改写为一个多文件的程序:1.将类定义放在头文件arraymax.h中;2.将成员函数定义放在源文件arraymax.cpp中;3.主函数放在源文件file1.cpp中。

    C++程序设计(第三版) 谭浩强 习题8.5 个人设计 习题 8.5 将本章的例8.4改写为一个多文件的程序: 1.将类定义放在头文件arraymax.h中: 2.将成员函数定义放在源文件arraym ...

  6. 数据表与简单Java类映射转换(一对多、多对多、角色与权限) - Java基础知识 6

                                                            目录 数据表与简单Java类映射转换 一对多映射 多对多映射 角色与权限 学习笔记 数据 ...

  7. Java 第9 章 : 数据表与简单Java类映射转换

    课时38:综合实战:数据表与简单Java类映射转换 简单Java类是现在面向对象设计的主要分析基础,但是对于实际的开发之中简单Java类的定义来源是有依据的,往往都是根据数据标的结构来实现简单Java ...

  8. 数据表与简单Java类映射转换

    综合实战:数据表与简单Java类映射数据转换 简单Java类是现在面向对象设计的主要分析基础,但是对于实际开发之中简单Java类的定义来源是有依据的,往往都是根据数据表的结构来实现简单Java类. 在 ...

  9. #Java笔记 #程序实现:数据表与简单Java

    刚开始学JAVA,从笔记做起! program 2 数据表与简单Java映射 目的 这实际上是我自己写的第一个Java程序,实现了比较简单的一个想法,还是特别开心的. <第一行代码 JAVA&g ...

最新文章

  1. Secure保存串口数据到本地
  2. xcode 编译时有相同的类,导致冲突,编译错误
  3. PowerTip of the Day-How Much RAM Do You Have?
  4. python float 精度_numpy.float128的内部精度是多少?
  5. linux运维笔试题目,linux运维相关的笔试题目_笔试题目
  6. 2022年Spark基础学习笔记目录
  7. Wi-Fi 爆重大安全漏洞,Android、iOS、Windows 等所有无线设备都不安全了
  8. ubuntu-多网卡聚合-bond技术教程
  9. 如何优化Java GC
  10. NGN学习笔记3——软交换中的协议1--SIP、SIP-I\SIP-T\BICC
  11. 小白程序员该看什么书?书单推荐
  12. gcc下载地址(Linux/windows安装)
  13. WAP PUSH解析(2)——WSP以及WBXML编码
  14. cad设计师证书怎么考
  15. 安卓pdf阅读器_手把手教你选购电子书阅读器!(Kindle/掌阅电子纸/文石电子书/小米电纸书……)...
  16. 金蝶EAS,序时簿界面去除数据隔离,根据枚举项实现背景色标记,数据排序
  17. Deconstructing laws of accessibility and facility distribution in cities
  18. iOS 多语言本地化 完美解决方案【自动+手动】
  19. Jenkins 登录时离线 offline
  20. 第十三届蓝桥杯模拟赛第二期JAVA组个人题解

热门文章

  1. 为什么网易在2016年大举进军云计算?
  2. 排序算法汇总(转载收藏)
  3. vue如何在用户要关闭当前网页时弹出提示
  4. react系列知识---11组件间抽象
  5. Hyper-V 的导入和导出
  6. 前端project师养成记:开发环境搭建(Sublime Text必备插件推荐)
  7. nginx缓存和flask_cache
  8. 记我的一次电话面试 (转)
  9. CentOS Tomcat6 修改默认端口8080为80
  10. C++11 中STL库中新增内容