用XSLT 2.0生成SQL
http://tech.ddvip.com 2007年10月25日 社区交流
内容摘要:学习如何使用最先进的 XSLT 2.0 特性从抽象数据模型生成 PHP 代码。本系列文章由两部分组成,Jack Herrington 将在第 1 部分中使用一项强有力的多级转换技术,说明如何用简单的目标数据库模型为数据库服务器生成 SQL。
假定您是一名新的 PHP 项目的工程团队主管,并且要求必备的条件都已满足,初步的数据模型包括大约 150 个表。现在该考虑一下进度表了。估计您每天能编写一个数据库访问类并完成其单元测试,因此,150 个表要用 150 天的时间。假设每个月工作 20 天,是不是要用将近八个月的时间来编写数据库访问层?
这样做可能不行,需要有一种方法来缩短所需的时间。您可以使用持久性框架,但即使这种框架能够把时间减半,仍然还需要四个月的时间。您还可以编写通用的类库,但是这样的库使用起来复杂不说,而且还非常容易出错,难以调试。
也可以编写一两个示例类,然后使用代码生成器建立其他的类。在最糟糕的情况下,编写生成器本身就可能要用一个月的时间。但是此后,所有代码的生成只要花费几分钟的时间。此外,由于 SQL 架构与数据库访问代码不匹配造成的缺陷也可以完全避免,因为 SQL 架构和访问代码都是由生成器建立的。
这样的计划可行吗?当然,本文就告诉您如何做,并说明为何应用程序更加容易维护,更加健壮,并且编写起来更顺手。本系列有两篇文章,第 1 部分先介绍代码生成的基础,然后讨论构建生成器的一部分,为给定的模型创建 SQL。第 2 部分将深入 XSL,通过遍历创建 PHP 的代码来说明如何完成生成器。
代码生成基础
首先,我们需要一个生成器,它接受数据库的抽象模型并建立 SQL 架构和 PHP 数据库访问类。图 1 给出了这种模型,并显示了为其他技术(如 Java™ 代码)生成数据库代码的可能性。
图 1. 生成器的基本信息流

来源:ibm 作者:Jack Herrington 责编:豆豆技术应用
正在加载评论...