当前位置: 网学 > 编程文档 > JAVA > 正文

Java数据对象(JDO)的应用

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/16
下载{$ArticleTitle}原创论文样式
OEnhancer:创建JDOEnhancer的JDO描述符

现在,我们已经编写好了整个应用程序的源代码,下一步需要作的就是创建一个JDOEnhancer将要使用的
JDO描述符。读者一定会问,JDOEnhancer是什么?JDO架构是基于下面的理念的:一个JDO实现能够获取类的字节码,对它们进行处理,添加一些必要的功能。例如,JDOEnhancer将使类实现PersistanceCapable接口(因此我们不用自己编程实现这一接口),而且能够实现该接口中的一些方法。因此在对代码编译后我们就会发现,我们必须运行JDOEnhancer对字节码进行适当的处理。我们需要创建一个给出我们需要保持的类的信息的描述符文件,这一文件如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE jdo SYSTEM
"file:/D:/Apps/OpenFusionJDO/xml/schema/jdo.dtd">
<jdo>
<package name="addressbook">
<class name="Person" identity-type="datastore">
</class>
</package>
</jdo>
这只是一个最基本的文件,但能够满足我们的要求。当然了,还有许多更复杂的映射。下面是OpenFusion例子中一个稍微复杂一些的映射:
<class name="Department" identity-type="datastore">
<field name="name"/>
<field name="employees">
<collection element-
type="com.prismt.j2ee.jdo.examples.appKeyDepartment.Employee">
</collection>
</field>
<field name="manager"/>
</class>
</package>
</jdo>
现在我们已经编写好了代码和JDO描述符文件,我们将对它们进行整合,并讨论如何建立整个系统。要建立整个系统,我们只需要简单的几步工作即可:
1、编译代码。
2、运行JDOEnhancer。
3、使用JDOEnhancer的输出建立数据库。
4、运行应用程序
第一步:编译代码
我想广大的读者想必已经知道如何运行javac了吧。在运行javac之前,我们只要保证正确地设置CLASSPATH就可以了。下面是一个在Windows平台上运行javac的例子:
% set OPENFUSION_DIR=D:\Apps\OpenFusionJDO
% set
CLASSPATH=%OPENFUSION_DIR%\lib\connector.jar;%OPENFUSION_DIR%\
lib\jndi.jar;%OPENFUSION_DIR%\lib\log4j.jar;%OPENFUSION_DIR%\l
ib\xerces.jar;%OPENFUSION_DIR%\lib\classes12.zip;%OPENFUSION_D
IR%\lib\jdo.jar;%OPENFUSION_DIR%\lib\jta-
spec1_0_1.jar;%OPENFUSION_DIR%\lib\ofjdo.jar;.

% javac –d . Person*.java
第二步:运行JDOEnhancer
JDOEnhancer需要使用在上一步编译中得到的字节码和我们先前建立的JDO描述符文件。下面是OpenFusion JDOEnhancer的完整语法:
java com.prismt.j2ee.jdo.enhancer.JDOEnhancer

命令选项:
-cp 开始搜索需要强化的类的基本路径,与CLASSPATH不同,它是编译后的可保持类所在的目录
-oc 存储强化后的类的目录
-pd JDO描述符文件

可选项:
-db 指定目标数据库 [oracle、sybase等]
-od 生成SQL脚本的目录

下面是为建立我们的应用程序而运行JDOEnhancer的一个例子:
% java com.prismt.j2ee.jdo.enhancer.JDOEnhancer -oc . -pd
person.jdo -db oracle -od db -cp .
第三步:使用JDOEnhancer的输出建立数据库
,只要使用–db和-od可选项,JDOEnhancer就能够创建建立数据库的数据库脚本。它能够创建许多脚本,但其中有一个的名字叫load_all.sql,打开该文件并将它加载到一个SQL提示符中。(例如sqlplus for Oracle)

CREATE SEQUENCE instid_seq INCREMENT BY 1
;

CREATE TABLE JDO_addressbook_Person_SCO
(
inst_id INTEGER NOT NULL,
clas
  • 下一篇资讯: Java拷贝文件
  • 网学推荐

    免费论文

    原创论文

    浏览:
    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
    湘ICP备09003080号