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

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

pureQuery:IBM 最新的 Java 数据库应用编程范例

发布: 2008-6-26 17:49 | 作者: 不详 | 来源: 测试时代编辑整理 | 查看: 184次 | 进入软件测试论坛讨论

领测软件测试网

简介

关系数据访问的对象化

大多数业务都建立在信息管理系统的基础上,而这些信息管理系统主要的底层基础设施又是基于存储在一个或多个关系数据库中的数据。这些系统由一些软件程序组成,这些软件程序专门用于信息处理,并且是以 Java 之类的托管语言实现的。

作为一种以封装、继承和多态为特征、易于使用、基于面向对象的语言,Java 一方面用于实现信息处理程序的计算和逻辑方面,另一方面则用于访问和操纵关系数据。Java 按照对象 来定义信息,而数据库则使用 行。对象是其所属类的惟一实例,在物理上,对象之间互有区别。同样,关系数据库中的行也是惟一的,它们由主键值标识。另一方面,对象是独立的,只要还被一个或多个其它对象引用,它就继续存在着。而行被包含在表当中,当被从表中删除时,也就随之消失。

因此,虽然对象与行在很多方面相似,但对象对于模块化编程的内在价值在于可伸缩性、可扩展性和高效的代码维护,这是通过 对象化(objectization)抽象关系行的设计基础。我们把对象化定义为这样一种过程:将面向对象的基本概念(封装、继承和多态)引入到使用 SQL 执行的指令式的、内联的数据查询实践。简言之,对象化就是创建无缝对象的过程,使用的方法可以通过纯面向对象范例执行数据库操作(包括创建、替换、更新和删除)。

对于通过对象化来编程式地访问和操纵关系数据,最流行的方式是通过一些 API 和包装器,这些 API 和包装器提供了一个或多个编写为文本字符串的 SQL 语句。整个关系数据处理都是基于这些封装的 SQL 语句的,它们是程序逻辑的重要组成部分。但是,这些 SQL 语句对于 Java 语言不是透明的,不能享受编译时优化和语义及语法验证的好处 —— 更不用说诸如内容辅助之类可以在底层设计和实现过程中节省大量时间的设计时特性了。

因此,在提高程序员的效率和生产率时,一个主要的挑战是将关系数据转换为可通过自然的面向对象方式无缝使用的对象,从而编写底层代码。要实现这种转换,需要很好地理解如何安排数据访问 API 调用的顺序,并从技术上理解底层的数据访问编程模型(例如 JDBC),此外,还需要具备优秀的编程技能并能够将软件(尤其是它的数据访问层)拆分成多个模块化部分。

pureQuery 项目为数据库应用开发人员提供了一套基于 GUI 且易用的方法,它能够显著提高应用程序的设计和实现阶段的生产效率。通过将关系数据自动转换为 Java 对象的实现方式,方便了用户对数据的访问和操纵。将关系数据转换为 Java 对象后,就可以很自然的通过面向对象编程范例无缝地利用这些对象来编写业务逻辑和底层代码。通过将查询语言与 Java 本身相集成,pureQuery 可以代替传统的 JDBC 编程。

本文对 pureQuery 进行了概述,并提供一个详细的场景,以展示 pureQuery 如何显著提高程序员的生产率。

pureQuery 是什么?

pureQuery 是一个基于 Eclipse 的、可插拔的组件,它可以与 Eclipse 集成开发环境(IDE)无缝集成。它自动提供设计和运行时方式,可将关系数据作为对象管理。这种设计使开发人员可以指定一个数据库连接(例如使用 DB2®),然后使 Eclipse Java 项目能够识别底层的数据库工件(例如表、存储过程等)。在建立连接并完成所有数据库工件的自动发现之后,用户可以通过 GUI 直观地将任何底层关系表实体转换成 Java 对象。这是通过自动生成相关 SQL 语句和自动创建封装这些语句的父 Java 对象来实现的。然后,还可以在一个自然的 Eclipse IDE 编程环境中,使用充分集成的 SQL 和 Java 编辑功能对生成的 Java 对象和其中包含的 SQL 语句进行进一步定制。

Java 编辑器与 SQL 的紧密集成可以提高编程生产率,提供无缝的设计时体验,并在编写 Java 代码时简化 SQL 编码。编辑器集成包括设计时编译过程中完全支持的语义和语法验证、内容辅助、语法着色以及在 Java 中动态、选择性执行 SQL,当出错时,像处理 Java 错误一样在错误面板中进行标记。

而且,设计和运行时之间的紧密联合,使得 SQL 语句可在设计时运行。运行 SQL 语句时,将考虑所使用的全部主机变量和参数,以预览结果集,并自动回滚执行 SQL 语句导致的副作用。

此外,在设计时,可通过启动 Visual Explain 对选择的 SQL 语句进行性能分析,为查询请求的优化器实现提供可视化表示。查询请求被拆分成不同的部分,每个部分用图标表示。Visual Explain 还包括关于查询优化器所考虑和选择的数据库对象的信息。Visual Explain 提供了对查询实现的详细表示,在设计时就可以从集成的 SQL-Eclipse Java 编辑器中轻松找到造成昂贵成本的原因。

pureQuery 对象化过程

pureQuery 系统提供三种不同的方式来将关系访问层转换成基于对象的模型。

延伸阅读

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

TAG: ibm IBM java JAVA Java 范例 数据库 pureQuery


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

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