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

现代项目开发中数据库是核心组成部分,几乎所有的项目代码都是围绕着数据表的业务逻辑结构展开的,那么在程序中往往会使用简单Java类进行数据表结构的描述。本节将通过具体的案例,分析数据表与简单Java类之间的转换。
提示:关于数据库。
本书的所有讲解都是与项目的实际开发密不可分的,对于数据库的学习或使用如果不熟悉的读者,可以参考笔者出版的《名师讲坛—Oracle开发实战经典》一书自行学习,该书是专为程序开发人员提供的数据库讲解。
在数据库中包含若干张数据表,每一张实体数据表实际上都可以描述出一些具体的事物概念。例如,在数据库中如果要想描述出一个部门存在有多个雇员的逻辑关系,那么就需要提供有两张表:部门(dept)、雇员(emp),关系如图6-15所示,在这样的数据表结构中一共存在3个对应关系:一个部门有多个雇员、一个雇员属于一个部门、每个雇员都有一个领导信息。

图6-15 数据表结构(一对多关系)
提示:数据表与简单Java类的相关概念对比。
程序类的定义形式实际上和这些实体表的差别并不大,所以在实际的项目开发中数据表与简单Java类之间的基本映射关系如下。
数据实体表设计=类的定义。
表中的字段=类的成员属性。
表的外键关联=对象引用关联。
表的一行记录=类的一个实例化对象。
表的多行记录=对象数组。
如果要描述出图6-15所要求的表结构,那么就需要提供两个实体类,这两个实体类需要根据表结构关联定义类结构,通过成员属性的引用关系描述表连接。
范例:实现一对多数据结构转换


本程序提供的两个简单Java类,彼此之间存在以下3个对应关系。
【dept类】privateEmp emps[]:一个部门对应多个雇员信息,通过对象数组描述。
【emp类】privateEmp mgr:一个雇员有一个领导,由于领导也是雇员,所以自身关联。
【emp类】privateDept dept:一个雇员属于一个部门。
范例:设置数据并根据引用关系获取数据内容

本程序首先实例化了各个对象信息,随后根据关联关系设置了数据间的引用配置,在数据配置完成后就可以依据对象间的引用关系获取对象的相应信息。