生成Java桌面数据库应用程序.doc_第1页
生成Java桌面数据库应用程序.doc_第2页
生成Java桌面数据库应用程序.doc_第3页
生成Java桌面数据库应用程序.doc_第4页
生成Java桌面数据库应用程序.doc_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

生成 Java 桌面数据库应用程序本教程介绍如何创建可用于访问和更新数据库的桌面Java应用程序。本教程将利用NetBeans IDE中对以下技术的支持:Java持久性API(JPA)-帮助使用Java代码与数据库进行交互。Bean绑定(JSR-295)-为不同的JavaBeans组件提供一种彼此同步属性值的方法。例如,可以使用Bean绑定来使JTable可视组件中单元格的值与实体类中的字段值保持同步。(而实体类又表示数据库表。)Swing应用程序框架(JSR-296)-为快速创建桌面应用程序提供了一些有用的模块。我们将创建一个数据库CRUD(创建、读取、更新、删除)应用程序,其中包含一个用于对数据进行可视化(汽车设计预览)的定制组件。本教程大量采用基于早期内部开发版本的IDE的截屏视频。某些用户界面从演示制作完成后就发生了变化,因此您可能会注意到本教程与演示之间存在一些差异。可以立即查看演示(大约9分钟)或下载演示的zip文件。预计时间:45分钟目录设置数据库启动服务器并创建数据库连接数据库创建应用程序运行生成的应用程序检查应用程序的已生成部分添加其他控件将控件与表中的值绑定设置定制组件生成并部署应用程序后续步骤要学完本教程,您需要具备下表所列的软件和资源。软件或资源要求的版本NetBeans IDE版本6.5 Java Development Kit(JDK)版本6或版本5 Java DB数据库服务器(Java DB包含在JDK 6中)汽车数据库SQL脚本CarPreview项目设置数据库开始在IDE中创建桌面CRUD(创建、读取、更新、删除)应用程序之前,应已将IDE连接到应用程序要使用的数据库。提前设置此连接,您便可以利用IDE中的自动将数据库绑定到应用程序这一功能。在本教程中,我们提供了使用Java DB数据库的说明,因为存在一个便于从IDE启动和停止Java DB数据库服务器的接口。但是,可以毫不费力地使用其他的数据库服务器。首先,验证是否在IDE中注册了Java DB。在很多情况下,Java DB是自动在IDE中注册的(例如当您在IDE中注册GlassFish应用程序服务器时,或者在JDK 6中运行时)。如果Java DB未在IDE中注册,则手动将它注册。要验证Java DB是否已在IDE中注册,请执行以下操作:打开服务窗口。右键单击数据库Java DB节点,然后选择属性。如果Java DB已注册,则Java数据库安装和数据库位置这两个字段均已填写。如果Java DB未注册,则填写以下两个字段:Java数据库安装。输入指向数据库服务器的路径。数据库位置。输入希望存储数据库的文件夹。单击确定。启动服务器并创建数据库在向IDE注册Java DB之后,可以轻松地启动和停止数据库服务器,以及创建新数据库。要在IDE中启动数据库服务器,请执行以下操作:在服务窗口中,右键单击数据库Java DB,然后选择启动服务器。如果还没有为数据库设定位置,则会出现设置数据库位置对话框。输入数据库服务器用于存储数据库的位置。如果愿意,可以在该位置创建新文件夹。服务器启动之后,Java DB数据库进程标签会在输出窗口中打开,并显示类似于以下内容的消息:Apache Derby Network Server--(485682)started and ready to accept connections on port 1527 at 2007-09-05 10:26:25.424 GMT创建数据库,请执行以下操作:在服务窗口中,右键单击数据库Java DB,然后选择创建数据库。对于数据库名称文本字段,键入car_database。还要将用户名和口令设置为nbuser。单击确定。连接数据库到目前为止,我们已成功启动了数据库服务器,并创建了一个数据库。但是,我们还需要连接新数据库,然后才能开始在IDE中使用该数据库。要连接car_database数据库,请执行以下操作:切换到服务窗口(Ctrl+5),然后展开数据库节点查看新数据库。右键单击数据库连接节点(jdbc:derby:/localhost:1527/car_databaseNBUSER上的nbuser),选择连接。现在,连接节点图标应该完全显示(),这表示连接已成功。展开连接节点,右键单击其表子节点,然后选择执行命令。复制car.sql文件的内容,并将其粘贴到源代码编辑器的SQL命令1标签中。这是SQL脚本,该脚本将使用关于汽车的数据填充数据库。在源代码编辑器工具栏中,单击运行SQL按钮()以运行该脚本。创建应用程序选择文件新建项目。在向导的第一个面板中,展开Java类别,并选择Java桌面应用程序模板。单击下一步。Java桌面应用程序模板提供了可视应用程序的许多基本项,包括基本菜单项和命令。在向导的名称和位置页中,执行以下操作:在项目名称字段中,键入CarsApp。此字段的值会为项目窗口中的项目设置显示名称。选中设置为主项目复选框。(可选)编辑项目位置字段来更改项目meta数据的位置。(可选)选中使用专用文件夹存储库复选框,并指定库文件夹的位置。有关此选项的详细信息,请参见共享项目库。在选择应用程序Shell字段中,选择数据库应用程序。单击下一步。在向导的主表页中,选择CAR数据库的数据库连接。数据库的列表应该类似于以下内容:jdbc:derby:/localhost:1527/car_databaseNBUSER上的nbuser填写数据库的口令(nbuser),并选中在此会话期间记住口令复选框。在建立与数据库的连接后,数据库表字段应该显示CAR,要包含的列列表应该包含CAR数据库的10个列的名称。目前,我们将在应用程序中只使用其中的5个列名称。选择后五个列名称(以SUN_ROOF开头,以MODERNNESS结尾),然后单击按钮将它们移到左列中。单击下一步。在详细信息选项面板中,单击完成。然后,向导将生成一个带有表和数据库连接的基本用户界面。IDE生成项目和代码可能需要几秒钟的时间。运行生成的应用程序此时,已有了一个正在运行的基本应用程序,其中包含的图形用户界面(GUI)具有以下功能:查看和修改CAR数据库中五个列值的功能。基本菜单项。会话间窗口状态的持久性。在关闭应用程序时,系统将记住窗口的位置和大小。这样在重新打开应用程序时,窗口会在关闭它时所在的同一个位置打开。关于对话框,可以轻松地对它进行定制。.properties文件,其中包含用户界面中的标签。使用.properties文件是使代码逻辑与出现在应用程序用户界面中的文本分离的好方法。此外,这样的分离有利于简化程序的本地化。要查看已内置到应用程序中的一些功能,请执行以下操作:右键单击项目节点,然后选择运行。几秒钟后,应用程序将启动并显示一个名为Database Application Example的窗口。此窗口包含一张表和若干可用于编辑CAR数据库的控件。选择表中的第一条记录(关于Acura)。选择Price文本字段,并将现有值替换为46999。然后按Enter键。此时表中应显示更新后的值。(但是,在单击Save前,该值不会反映到数据库中。)同样地,可以更新表中的其他任何值。单击New创建一条新记录。然后填写每个字段(Make,Model,Price,Body Style,Color)的值。例如,可以填写Trabant、Classic、1000、wagon和blue。单击Save将该条目保存到数据库中。单击Database Application Example标题栏,并将应用程序拖到屏幕上的其他位置。单击Database Application Example窗口的左边框并将其向左拖动以增大窗口。在Database Application Example菜单栏中,选择FileExit。在IDE中,右键单击项目节点,然后选择运行项目。此时,Database Application Example窗口将打开,其大小和所在位置与关闭应用程序时相同。检查应用程序的已生成部分主表(JTable组件)与数据库之间的连接是结合以下机制(所有这些机制都是由IDE生成的)进行处理的:Car.java实体类-用于在CAR数据库表中进行读写数据的操作。实体类是一种特殊的类,使用它可以通过Java代码与数据库交互。实体类使用Java标注将类字段映射到数据库列。META-INF/persistence.xml文件-定义数据库与实体类之间的连接。此文件也称为持久性单元。使用Bean绑定连接实体类的属性与JTable组件的属性。Bean绑定是一项基于JSR 295的新技术,该技术可能会包含在将来的Java SE发行版中。entityManager、query和list对象-它们在CarsView类中定义,并且在检查器窗口中列出。entityManager(实体管理器)对象用于在已定义的持久性单元作用域内检索和提交数据。query(查询)对象定义如何从实体管理器检索数据收集。可以通过在检查器窗口中选择查询对象并更改属性表单中的query属性来更改查询对象的工作方式。query属性使用JPA查询语言。list(列表)对象是保存查询到的数据的可观察集合。可观察的集合是一种特殊的集合,可以在其中放置侦听程序以查明对集合做出更改的时间。使用检查器窗口和属性表单,可以执行以下步骤以了解如何将JTable绑定到数据:在检查器窗口中,选择mainPanelJPanelmasterScrollPaneScrollPanemasterTableJTable节点。然后在属性窗口中单击绑定标签。查看elements属性,确认其与列表已绑定。单击省略号.按钮打开绑定masterTable.elements定制器,可以在其中进一步定制表与数据库之间的绑定。例如,可以查看定制器可用来指定要绑定哪些表列。除了属性表单中的绑定类别外,还可以使用上下文菜单中的绑定菜单。添加其他控件现在,我们要将最初排除的某些属性的控件添加到窗体中。除了使用表外,我们将添加JSlider组件(对于tire size和modernness属性)和JCheckbox组件(对于sun roof和spoiler)。执行以下步骤来添加其他组件:添加第一个滑块,方法是单击组件面板窗口中的滑块按钮,然后单击New按钮正上方的窗体。在单击该窗体以插入滑块之前,请确保未显示水平槽式基准线。这些基准线指示滑块将插入字段或按钮所在的同一行。请参见下图以了解应将滑块拖到窗体中的哪个位置。注意:如果将组件放到了非预期的位置,并因而导致不需要的布局更改,可以使用撤消命令来撤消更改。选择编辑撤消,或按Ctrl-Z组合键。如有必要,向左拉伸滑块以将它与文本字段组件的左边对齐。向右拉伸滑块使其宽度相当于整个窗体的宽度。在滑块的左边添加一个标签,并将其文本设置为Tire Size。(单击标签使其可编辑。)在第一个滑块下方添加另一个滑块,并根据需要调整其宽度和位置。在Tire Size标签下方添加另一个标签,并将其文本设置为Modernness。在这两个滑块下添加两个复选框。将其文本分别设置为Spoiler和Sun Roof。(确保显示文本可编辑,方法是单击复选框一次,暂停,然后再次单击该复选框。还可以右键单击复选框,并选择编辑文本。)窗体应该类似于如下所示的屏幕快照。将控件与表中的值绑定现在,我们将使用Bean绑定功能将表单元格中显示的值绑定到已添加的控件状态。这将使您能够通过使用滑块和复选框来更改表中单元格的值。要将滑块与其对应的表元素绑定,请执行以下操作:在窗体中,右键单击Tire Size滑块,然后选择绑定value。在绑定对话框的绑定源下拉列表中,选择masterTable。在绑定表达式下拉列表中,选择selectedElementtiresize节点。在窗体中,右键单击Modernness滑块,然后选择绑定value。在绑定对话框的绑定源下拉列表中,选择masterTable。在绑定表达式下拉列表中,选择selectedElementmodernness。要将复选框与其对应的表元素绑定,请执行以下操作:在窗体中,右键单击Spoiler复选框,然后选择绑定selected。在绑定对话框的绑定源下拉列表中,选择masterTable。在绑定表达式下拉列表中,选择selectedElementspoiler。单击确定退出绑定对话框。在窗体中,右键单击Sun Roof复选框,然后选择绑定selected。在绑定对话框的绑定源下拉列表中,选择masterTable。在绑定表达式下拉列表中,选择selectedRowsunRoof。单击确定。现在,应该能够使用滑块和复选框来更改数据库条目。要验证滑块和复选框是否有效,请执行以下操作:打开服务窗口。确保IDE已连接到数据库,方法是右键单击数据库jdbc:derby;/localhost:1527/car_database,并选择连接。右键单击数据库jdbc:derby;/localhost:1527/car_database表CAR节点,并选择查看数据。查看第一条记录的SUN_ROOF、SPOILER、TIRE_SIZE和MODERNNESS值。选择运行运行主项目来执行应用程序。正在运行的应用程序应该类似于如下所示的屏幕快照。在正运行的应用程序中,选择第一条记录。移动滑块并更改复选框选择。单击保存将更改保存到数据库中。在服务窗口中,再次使用查看数据命令。数据库中的值应反映所做的更改。设置定制组件为了运用更加图形化的方法来演示Bean绑定,让我们来添加将绘制所选汽车预览的定制组件。我们会将此组件的属性绑定到相应的表元素。然后,如果再次运行应用程序,则在更改选定的行并更改各种字段的值时,汽车预览也会被修改。要使CarPreview组件适用CarsApp项目,请执行以下操作:如果尚未生成CarPreview组件,则下载CarPreview.zip文件。使用标准zip工具,提取zip文件的归档文件。选择文件打开项目,并导航至zip文件的提取内容,然后选择CarPreview项目。单击打开项目。此时该项目会在IDE中打开。右键单击CarPreview节点,然后选择清理并生成。该操作将编译该项目中的文件,以使您能够将CarPreview类用作可直接拖放到窗体中的Bean。此组件是作为JavaBeans组件编写的,因此可以将其添加到组件面板中,这样便于将该组件添加到多个应用程序中。但是现在我们会直接将此组件从项目窗口拖动到应用程序中。要将CarPreview组件添加到应用程序中,请执行以下操作:在项目窗口中,展开CarPreview源包carpreview节点。将CarPreview.java类拖动到窗体中。要将该类插入菜单的正下方,请将其置于表的上方,与其他控件左对齐,并且折到菜单栏的底部,如下图所示。在整个窗体上水平调整预览组件大小。使用与将滑块和复选框绑定到masterTable组件中的元素相同的方法,将CarPreview组件的所有绑定属性绑定到masterTable的对应selectedElement属性。使用属性表单中的绑定弹出菜单或绑定标签。再次运行CarApp应用程序。在正运行的应用程序中,会在选择表中不同的行、更改表中的值、移动滑块以及选中和取消选中复选框时看到CarPreview组件的变化。下图显示了正在运行的最终应用程序。生成并部署应用程序如果您对应用程序正常工作的现状感到满意,可以准备在IDE外部署应用程序。在此部分中,将生成应用程序的可发布输出,并从IDE之外运行应用程序。生成应用程序IDE中的主生成命令是清理并生成命令。清理并生成命令可以删除以前编译的类和其他生成工件,然后从头开始重新生成整个项目。注意:还有一个生成命令,该命令不会删除旧的生成工件,但此命令缺省情况下处于禁用状态。有关详细信息,请参见创建、导入和配置Java项目指南的在保存时编译部分。生成应用程序:选择运行清理并生成主项目(Shift-F11)。此时Ant生成脚本中的输出会显示在输出窗口中。如果未显示输出窗口,则可以通过选择窗口输出输出手动打开该窗口。清理并生成项目时,会出现以下情况:删除(清理)由以前的生成操作所生成的输出文件夹。(大多数情况下,这些文件夹为de buildde和de distde文件夹。)将de buildde和de distde文件夹添加到项目文件夹(以下称为PROJECT_HOME文件夹)中。将所有源都编译成de.classde文件,并将这些文件放置在de PROJECT_HOME/buildde文件夹中。在de PROJECT_HOME/distde文件夹中创建包含项目的JAR文件。如果您已为该项目指定了任何库(除了JDK之外),则在de distde文件夹中将创建一个de libde文件夹。这些库将被复制到de dist/libde中。JAR中的清单文件更新后将包括用于指定主类的条目以及项目的类路径中的所有库。在IDE外部运行应用程序在IDE外部运行应用程序:从IDE外部启动Java DB。请访问注意:还可以从IDE内部启动Java DB,但在退出ID

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论