• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

如何用JDO开发数据库应用(5)

发布: 2007-7-14 21:19 | 作者: 佚名    | 来源: 网络转载     | 查看: 11次 | 进入软件测试论坛讨论

领测软件测试网 如何用JDO开发数据库应用(5)

project属性配置界面基本上不需要怎么设置,只要做两个必须的配置:

将MySQL的JDBC驱动加入到CLASSPATH中
将我们的类代码的根目录加入到CLASSPATH中 界面如下:

点击放大
(图片较大 请放大后查看)

点击“OK”后,我们就到了主窗口,在主窗口中,我们可以进行metadata的编辑工作。我们通过菜单Meta-->Add Classes将前面的两个数据类加入到元数据中,表示这两个类是需要存储的。其余的数据表结构等等繁琐的事务,我们全部留给JDOGenie自动完成。添加数据类的过程中需要创建一个元数据文件,根据JDO的标准,一般情况下我们只需要在CLASSPATH根目录下创建一个“system.jdo”即可。加入数据类后的界面如下:

点击放大
(图片较大 请放大后查看)

而自动生成的元数据文件system.jdo内容非常简单,实际上直接用手工写也不难:

<?xml version="1.0" encoding="UTF-8"?>
<jdo>
<package name="credit.system">
<class name="CreditCard" />
<class name="TransactionRecord" />
</package>
</jdo>

不过如果类比较多,之间关系也比较复杂的时候,就最好通过工具完成,以免出现语法和语义错误,除非你已经很有经验。

之后,我们选择菜单的Build-->Recreate Schema来创建相应的数据库。数据库的表结构是自动生成的,如果你对其中一些表名或字段名或字段长度有异议,可以在主窗口中自定义。这里为简明扼要,全部采用自动生成。如果你想在建表之前看看数据结构,可以选择菜单“Build-->View Schema”先预览一下生成的表结构SQL代码:

-- credit.system.CreditCard
create table credit_card (
credit_card_id INTEGER not null, --
address VARCHAR(255), -- address
allow_over_draft FLOAT, -- allowOverDraft
balance FLOAT, -- balance
create_time DATETIME, -- createTime
idcard VARCHAR(255), -- idcard
initial_balance FLOAT, -- initialBalance
last_transaction_time DATETIME, -- lastTransactionTime
nme VARCHAR(255), -- name
phone VARCHAR(255), -- phone
jdo_version SMALLINT not null, --
constraint pk_credit_card primary key (credit_card_id)
) TYPE = InnoDB;

-- za.co.hemtech.jdo.server.jdbc.sql.HighLowJdbcKeyGenerator
create table jdo_keygen (
table_name VARCHAR(64) not null,
last_used_id INTEGER not null,
constraint pk_jdo_keygen primary key (table_name)
) TYPE = InnoDB;

-- credit.system.TransactionRecord
create table transaction_record (
transaction_record_id INTEGER not null, --
amount FLOAT, -- amount
credit_card_id INTEGER, -- card
create_time DATETIME, -- createTime
note VARCHAR(255), -- note
jdo_version SMALLINT not null, --
constraint pk_transaction_record primary key (transaction_record_id)
) TYPE = InnoDB;


接下来,我们保存这个Project,也就是将配置信息写入“creditSys.jdogenie”。下面我们就可以继续开发了,也就是说,我们所有的数据类包装工作就全部完成了,已经可以享受JDO的自动维护的对象存储和灵活的面向对象的JDOQL查询语言的好处了。

JDOGenie1.4.7还有一个好处,是它新增的UML类图功能,简洁明了地给出数据类之间的关系,对于理解别人的数据模型非常有用。选择菜单“Meta-->Diagrams”,将所有的类都加到图中,即可看到本文中的数据模型:

点击放大
(图片较大 请放大后查看)

如果类比较多的话,可能这些关系线段会有交叉,那就需要我们手动地调整一下各个类的位置,做到尽量减少交叉。一个复杂一点的类图示范如下(未调整位置):

点击放大
(图片较大 请放大后查看)

(未完待续)

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网