JavaBeans和关系数据库的镜像 - 编程入门网
to obtain a ResultSetFor each record in the ResultSet{Create an object of the class associated with table Tinitialize the object using the record''s contentsAdd the object to the results, e。g。, attach it to A}}
清单4:描述数据库查询的伪码 Java镜像和Java beans Java1.1开发套件(JDK)的引入, 为我们带来了许多强大的新性能,例如全新的用户界面接口类。有两个新的JDKAPI尤其值得注 意:镜像机制(java.lang.reflect包)和JavaBeans组件的应用程序接口(java.beans包)。这两 个API将会帮助我们创建高明的数据库类,使我们可以利用有关类的meta-信息,以此来解决开 发通用数据库类中的问题。 拥有forName()和newInstance() 方法的Class类,仅仅是镜象(reflection)功能的一个简单例子。真正重要的是,forName()字符 串参数不必须是源程序中出现的字符串。只要给出一个名字(这个名字可从任何地方取来), 你就可以载入并实例化任何一个类。对于我们的数据库类,我们可以直接从数据库自身的表名 中得到类名。这就是说,与数据库表相关的Java类名并不需要出现在源程序中。相应地,当表名 改变或某个表被加入到数据库中时,不需要修改源码,只要确信带有新名字的类已存在你的系 统中。 镜像类意味着可以在实时运行中 获取、存储和处理Java程序中的类信息。它们的实例能够象任何Java对象一样被运用,你可以象 修改字符串和整数一样,去修改类、数据类型、返回类型、方法参照和参数。在源程序级,这个镜 像的概念看起来并没有什么价值——因为可以应用你自己的编码直接存取你所需要的有关类、 方法及参数的所有信息。但是,镜像(reflection)将会在java的编译文件中发挥作 用。JavaBeansAPI的作用是:通过应用程序的构造机制利用来自于全然不同的开发者或产商所 编写的类。 JavaBeans规范为类成员的名字 制定一系列的条例。以确保方法函数的名字能系统地描述它们的功能。任何一个符合规则 的Java类都可以被一个Bean的内化实例(通过镜像)检查,以揭示其行为的重要特征——诸如对 于什么样的事件类将有所响应,以及该类将会产生什么样的事件等等。任何符合这些规范的类 都是高效的Bean,因而是一个组件。在理论上,这意味着你可以从各种来源收集一系列beans,当 需要它们时可以将其其实时地绑在一起。 JavaBeans和关系数据库的镜像(3)时间:2008-05-07一个Bean的例子 在下面一个名为Translation 的Bean中,有一个构造函数和两个方法来操作一个名为“language”的属性。这里我想强调的是, 既然你可以通过检查一个类的代码来了解它的构造函数、方法及属性,那么Bean的内化 器(Introspector)也能做到。
清单5:一个非常简单的Bean 一个BeanIntro spector能够提供 许多数组的Property Descriptor实例,这些实例包含所有Bean的属性的类型信息,即例子中 由get/set方法所定义的类型。你可以调用这些方法(利用reflection)来读或写这些属性。 镜像机制(reflection facilities)为我们检查原本松散的类和数据库表的完整性提供了的更好方法。实际上,仅仅 通过类名和一个表匹配并不一定能够保证一些类内部的一致性。一个与表相关的类显然应当具 备存储数据库表中所有字段的数据元素。一个类可能有适当的名字,但其初始化代码可能会省 略。它可能只有一个正确的名字,而其数据成员可能有不同的名字或者是不同的类型。使用JDBC 的DatabaseMetaData及镜像机制可以检查它 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |