您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 在 Eclipse 中开发 Apache Derby 应用程序
在Eclipse中开发ApacheDerby应用程序级别:初级GillesRoux,信息管理软件工程师,IBM2005年2月01日在开发ApacheDerby应用程序的过程中需要执行很多任务,例如创建和连接数据库,编写Java™JDBC客户机应用程序和存储过程,以及将最终得到的软件组件部署到生产环境。本文旨在发现如何结合使用各种基于Eclipse的ApacheDerby工具来简化这一开发过程。概述本文的目的是向您展示如何在Eclipse集成开发环境(IDE)中使用几种不同的工具,例如JavaDevelopmentTools、IBM®DB2®plug-insforEclipse和IBMintegrationplug-inforDerby,以便开发ApacheDerby应用程序。本文将介绍一个典型Derby应用程序的整个开发周期,从数据库的创建开始,然后经历JDBC客户机应用程序的开发,存储过程和函数的开发,最后是解决方案的开发。本文还将描述必要时如何用DB2UniversalDatabase(UDB)数据库替代ApacheDerby数据库。本文假设您对ApacheDerby数据库、Eclipse平台和DB2plug-insforEclipse有基本的理解。强烈建议您阅读参考资料一节中列出的文章“与ApacheDerby一起使用DB2plug-insforEclipse”的两个部分。为了阐明应用程序开发中涉及的各种不同任务,作者GillesRoux将提供关于如何构建一个示例应用程序的具体例子和逐步说明。在这个例子中,您需要开发一个命令行应用程序来执行一家书店的库存管理。书店的数据库存储了这家书店拥有的各种书籍,以及这些书籍的现有数量。这个示例应用程序将允许您访问这些数据,并允许您更改书籍的数量。例如,如果从一个供应商那里收到一批书,那么就要使用这个应用程序来添加所收到书籍的数量。如果书籍的数量超过或者低于某个限制,则需要用电子邮件通知管理员,以便其采取必要的行动。回页首开发环境工具JavaDevelopmentTools(JDT)是一组内建到Eclipse中的插件,为编辑、编译、调试、执行和部署一般用途的Java应用程序提供了一种方法。DB2plug-insforEclipse提供了连接到各种数据库(包括IBMCloudscape和ApacheDerby)的一组功能。这个插件是以下几个插件的组合。ConnectionWizard:用于创建和连接DB2、Cloudscape或Derby数据库。DatabaseExplorerView:用于浏览数据库对象。SQLScrapbook:用于编辑和执行单独的SQL语句。DatabaseOutputView:用于对一个表的内容进行抽样或者查看一条SQL语句的执行结果。MigrationWizard:用于自动地将一个现有Derby数据库迁移到DB2UDB。IBMintegrationplug-inforDerby将很多有用的Derby工具集成到了Eclipse环境中。下面是该工具所提供的主要功能:ApacheDerbyNature:使Eclipse项目可以执行Derby任务。NetworkServer:直接从Eclipse项目中配置和启动DerbyNetworkServer。IJ:直接在Eclipse控制台中以交互模式或脚本模式启动Derby命令行实用程序。Sysinfo:显示与项目相关的Derby系统信息。DB2plug-insforEclipse和IBMIntegrationplug-inforDerby是两个独立的工具,但是它们之间互补性很强,前者提供了一般数据库连接,而后者则提供了访问很多特定于Derby特性的访问途径。然而,很多任务都可以通过这些工具中的任意一个来执行,效果是一样的。本文提到了执行一个给定任务的各种不同方法,从而使每个用户都可以选择他们所喜爱的工作方式。安装工具首先要下载和安装DB2plug-insforEclipse。该产品包括DB2插件,并且是基于Eclipse3.0的,后者本身就包括了JDT。然后从Apache.org下载ApacheDerbyplug-in,并在安装了前面软件的基础上安装此软件。最后,下载IBMIntegrationplug-inforDerby并在安装了eclipse的基础上安装此软件。该插件包括JCCJDBC驱动程序和Derby集成工具。设置开发环境如前所述,您将使用几种不同的工具来开发应用程序:DB2plug-insforEclipse、IBMIntegrationplug-inforDerby和JDT。这些工具都是基于Eclipse的,因此它们可以很好地集成到一个单独的开发环境中。在开发应用程序时,通常要建立一些到数据库的连接:使用DatabaseExplorer浏览数据库。使用Derbyij命令行实用程序执行SQL语句。在测试时应用程序自己将连接到数据库。Derby数据库引擎可以在多种配置下运行。最简单的一种是嵌入式配置,但在这里不适合,因为需要通过运行在不同Java虚拟机上的几种工具建立连接。而且,在生产环境中,可能需要从多个应用程序中访问数据库。因此,这里使用NetworkServer配置。IBMIntegrationplug-inforDerby提供了一种选择,以便可以很容易地从Eclipse项目目录中启动本地机器上的DerbyNetworkServer。接着要配置应用程序和其他工具,以连接到该网络服务器。下图展示了配置情况。图1.开发环境配置设置环境的第一步是创建项目。选择“File-New-Project-JavaProject”并输入bookstore作为项目名称。这样就创建了一个Java项目,然后切换到Javaperspective(透视图)中。右击该项目并选择“ApacheDerby-AddApacheDerbynature”。这样使您的项目可以使用ApacheDerby特性,然后设置该Java项目的构建路径,以便应用程序可以访问Derby数据库和JDBC驱动程序。DB2plug-insforEclipse通常可以从Dataperspective访问,并且无需与某个特定的项目相关联。为了简化开发过程,避免Javaperspective和Dataperspective之间的切换,需要将DB2plug-ins视图,即DatabaseExplorer视图和DBOutput视图,添加到Javaperspective。这可以通过ShowView-Other菜单来完成。下图展示了开发环境的外观。图2.开发环境布局创建数据库在开始编写实际的应用程序代码之前,需要创建应用程序将要用到的数据库,或者连接到一个已有的数据库。首先通过右击项目并选择“ApacheDerby-StartDerbyNetworkServer”来启动DerbyNetworkServer。每次重新启动Eclipse时都需要执行这一步。这时项目图标上有一个绿色的箭头,表明服务器正在运行。创建数据库创建一个Derby数据库非常类似于连接到一个已有的数据库:通过将create=true属性包括在URL中,可以指示数据库引擎在您第一次连接到数据库时创建该数据库。这可以通过使用DB2plug-insforEclipse的ConnectionWizard来完成。下面的表展示了在这个向导中应该使用的参数。表1.连接参数ConnectionnamebookstoredbDatabaseManagerApacheDerbyv10.0JDBCDriverIBMDB2Universal需要使用这个参数来连接到网络服务器Databasebookstoredb要创建的数据库的名称Hostlocalhost网络服务器运行在本地机器上PortNumber1527默认端口号ClassLocation比如:C:\eclipse\plugins\com.ibm.cloudscape.ui_1.0.0\db2jcc_license_c.jar;C:\eclipse\plugins\com.ibm.cloudscape.ui_1.0.0\db2jcc.jarCreatedatabayes需要使用这个参数在第一次连接时创建数据库回页首seifrequiredUserIDbookstore数据库上的认证没有被启用,因此可以使用任何用户,但是用户名将定义默认模式Passwordaaa数据库上的认证没有被启用,因此可以使用任何密码图3.使用ConnectionWizard创建数据库完成该向导后,便创建了一个数据库,并且向DatabaseExplorerView中添加了一个连接。通过展开连接的节点,就可以浏览这个数据库,但是显然这个时候它是空的。数据库被创建在Derby网络服务器的当前目录中,也就是之前创建Eclipse项目时所在的目录。可以通过右击项目名并选择Refresh来刷新该项目,这样将显示一个新的bookstoredb/目录,该目录包含用于数据库的文件。不要试图修改这些文件,否则数据库会受到损坏。创建数据库对象接下来的步骤是创建应用程序将要用到的数据库对象。在这里,只需使用SQLScrapbook创建一个表即可。SQLScrapbook可以通过右击连接名并选择“OpenSQLScrapbook”来调用。这时将打开一个新的编辑器,在这个编辑器中可以输入要发出的SQL语句:清单1.CREATETABLE语句createtablebooks(idint,titlevarchar(128),authorvarchar(128),pricedecimal(6,2),quantityint,statusint)请注意,SQLScrapbook只能用于执行单条的SQL语句。而且,不要以分号来结束SQL语句。然后,可以按下主Eclipse按钮栏中的“ExecuteSQLstatement”按钮。DBOutput视图应该显示结果是成功的。还可以刷新连接,以及验证数据库现在是否包含新创建的表。图4.使用SQLScrapbook创建表创建测试数据现在通过执行INSERT语句向books表填充一些测试数据。这也可以通过SQLScrapbook来实现,但这里我们使用了IBMIntegrationplug-inforDerby的“RunSQLscriptusingij”功能。这项功能允许使用Derby命令行实用程序执行SQL脚本,并在Eclipse输出视图中查看结果。这种方法的一大优点是:它允许一次执行多条语句。而且,这种方法要求在脚本的开始处包含一条连接语句,因此您可以对连接URL有更多的控制。表2.SQLScrapbook和IJ脚本之间的不同之处SQLScrapbook执行IJ脚本语句存储在一个文件中不是是一次可以执行多条语句不是是语句终止符不允许有终止符分号编辑功能语法高亮显示,内容辅助没有到数据库的连接SQLscrapbook被关联到一个给定的连接第一条语句应该是到所需数据库的一个连接构建URL的一种简便方法是复制ConnectionWizard所使用的URL:在数据库浏览器中右击连接,然后选择“EditConnection”并访问“ConnectionURL”字段。这里需要添加用户名和密码作为URL属性。使用Eclipse在项目中创建一个名为data.sql的文本文件,并键入以下命令:清单2.INSERTINTO语句connect'jdbc:derby:net://localhost:1527/bookstoredb:user=bookstore;password=aaa;';insertintobooksvalues(1,'EastOfEden','JohnSteinbeck',7.20,3,0);insertintobooksvalues(2,'Hard-BoiledWonderlandandtheEndoftheWorld','HarukiMurakami',10.
本文标题:在 Eclipse 中开发 Apache Derby 应用程序
链接地址:https://www.777doc.com/doc-4259057 .html