2022年生成JAVA桌面数据库应用程序 .pdf
-
资源ID:39896365
资源大小:1.23MB
全文页数:20页
- 资源格式: PDF
下载积分:4.3金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
2022年生成JAVA桌面数据库应用程序 .pdf
生成Java桌面数据库应用程序本教程介绍如何创建可用于访问和更新数据库的桌面Java应用程序。本教程将利用NetBeansIDE中对以下技术的支持:Java持久性API(JPA)-帮助使用Java代码与数据库进行交互。Bean绑定(JSR-295)-为不同的JavaBeans组件提供一种彼此同步属性值的方法。例如,可以使用Bean绑定来使JTable可视组件中单元格的值与实体类中的字段值保持同步。(而实体类又表示数据库表。)Swing应用程序框架(JSR-296)-为快速创建桌面应用程序提供了一些有用的模块。我们将创建一个数据库CRUD(创建、读取、更新、删除)应用程序,其中包含一个用于对数据进行可视化(汽车设计预览)的定制组件。本教程大量采用基于早期内部开发版本的IDE的截屏视频。某些用户界面从演示制作完成后就发生了变化,因此您可能会注意到本教程与演示之间存在一些差异。可以 立即查看演示(大约9分钟)或下载演示的zip文件。预计时间:45分钟目录设置数据库启动服务器并创建数据库连接数据库名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 20 页 -创建应用程序运行生成的应用程序检查应用程序的已生成部分添加其他控件将控件与表中的值绑定设置定制组件生成并部署应用程序后续步骤要学完本教程,您需要具备下表所列的软件和资源。软件或资源要求的版本NetBeansIDE版本 6.5Java DevelopmentKit(JDK)版本 6 或版本 5Java DB 数据库服务器(Java DB 包含在 JDK 6 中)汽车数据库SQL 脚本CarPreview项目设置数据库开始在IDE中创建桌面CRUD(创建、读取、更新、删除)应用程序之前,应已将IDE连接到应用程序要使用的数据库。提前设置此连接,您便可以利用IDE中的自动将数据库绑定到应用程序这一功能。在本教程中,我们提供了使用Java DB数据库的说明,因为存在一个便于从IDE启动和停止Java DB数据库服务器的接口。但是,可以毫不费力地使用其他的数据库服务器。名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 20 页 -首先,验证是否在IDE中注册了Java DB。在很多情况下,Java DB是自动在IDE中注册的(例如当您在IDE中注册GlassFish应用程序服务器时,或者在JDK 6中运行时)。如果Java DB未在IDE中注册,则手动将它注册。要验证JavaDB是否已在IDE中注册,请执行以下操作:1.打开“服务”窗口。2.右键单击“数据库”JavaDB节点,然后选择“属性”。如果Java DB已注册,则“Java数据库安装”和“数据库位置”这两个字段均已填写。如果Java DB未注册,则填写以下两个字段:oJava数据库安装。输入指向数据库服务器的路径。o数据库位置。输入希望存储数据库的文件夹。3.单击“确定”。启动服务器并创建数据库在向IDE注册Java DB之后,可以轻松地启动和停止数据库服务器,以及创建新数据库。要在IDE中启动数据库服务器,请执行以下操作:在“服务”窗口中,右键单击“数据库”JavaDB,然后选择“启动服务器”。如果还没有为数据库设定位置,则会出现“设置数据库位置”对话框。输入数据库服务器用于存储数据库的位置。如果愿意,可以在该位置创建新文件夹。名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 20 页 -服务器启动之后,“Java DB数据库进程”标签会在“输出”窗口中打开,并显示类似于以下内容的消息:ApacheDerbyNetworkServer-10.2.2.0-(485682)startedandreadytoacceptconnectionsonport1527at2007-09-0510:26:25.424GMT创建数据库,请执行以下操作:1.在“服务”窗口中,右键单击“数据库”JavaDB,然后选择“创建数据库”。2.对于“数据库名称”文本字段,键入car_database。还要将“用户名”和“口令”设置为nbuser。3.单击“确定”。连接数据库到目前为止,我们已成功启动了数据库服务器,并创建了一个数据库。但是,我们还需要连接新数据库,然后才能开始在IDE中使用该数据库。要连接car_database数据库,请执行以下操作:1.切换到“服务”窗口(Ctrl+5),然后展开“数据库”节点查看新数据库。2.右键单击“数据库连接”节点(jdbc:derby:/localhost:1527/car_databaseNBUSER上的nbuser),选择“连接”。现在,连接节点图标应该完全显示(),这表示连接已成功。名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 20 页 -3.展开连接节点,右键单击其“表”子节点,然后选择“执行命令”。4.复制car.sql文件的内容,并将其粘贴到源代码编辑器的“SQL命令1”标签中。这是SQL脚本,该脚本将使用关于汽车的数据填充数据库。5.在源代码编辑器工具栏中,单击“运行SQL”按钮()以运行该脚本。创建应用程序1.选择“文件”“新建项目”。2.在向导的第一个面板中,展开Java类别,并选择“Java桌面应用程序”模板。单击“下一步”。“Java桌面应用程序”模板提供了可视应用程序的许多基本项,包括基本菜单项和命令。3.在向导的“名称和位置”页中,执行以下操作:1.在“项目名称”字段中,键入CarsApp。此字段的值会为“项目”窗口中的项目设置显示名称。2.选中“设置为主项目”复选框。3.(可选)编辑“项目位置”字段来更改项目meta数据的位置。名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 20 页 -4.(可选)选中“使用专用文件夹存储库”复选框,并指定库文件夹的位置。有关此选项的详细信息,请参见共享项目库。5.在“选择应用程序Shell”字段中,选择“数据库应用程序”。6.单击“下一步”。4.在向导的“主表”页中,选择CAR 数据库的数据库连接。数据库的列表应该类似于以下内容:jdbc:derby:/localhost:1527/car_databaseNBUSER上的nbuser5.填写数据库的口令(nbuser),并选中“在此会话期间记住口令”复选框。在建立与数据库的连接后,“数据库表”字段应该显示CAR,“要包含的列”列表应该包含CAR数据库的10个列的名称。目前,我们将在应用程序中只使用其中的5个列名称。6.选择后五个列名称(以SUN_ROOF开头,以 MODERNNESS 结尾),然后单击 Exit。8.在IDE中,右键单击项目节点,然后选择“运行”项目。此时,DatabaseApplicationExample窗口将打开,其大小和所在位置与关闭应用程序时相同。检查应用程序的已生成部分主表(JTable组件)与数据库之间的连接是结合以下机制(所有这些机制都是由IDE生成的)进行处理的:Car.java实体类-用于在CAR数据库表中进行读写数据的操作。实体类是一种特殊的类,使用它可以通过Java代码与数据库交互。实体类使用Java标注将类字段映射到数据库列。META-INF/persistence.xml文件-定义数据库与实体类之间的连接。此文件也称为持久性单元。使用Bean绑定连接实体类的属性与JTable组件的属性。Bean绑定是一项基于JSR 295的新技术,该技术可能会包含在将来的Java SE发行版中。entityManager、query和 list对象-它们在 CarsView类中定义,并且在“检查器”窗口中列出。名师资料总结-精品资料欢迎下载-名师精心整理-第 8 页,共 20 页 -oentityManager(实体管理器)对象用于在已定义的持久性单元作用域内检索和提交数据。oquery(查询)对象定义如何从实体管理器检索数据收集。可以通过在“检查器”窗口中选择查询对象并更改属性表单中的query属性来更改查询对象的工作方式。query属性使用JPA查询语言。olist(列表)对象是保存查询到的数据的可观察集合。可观察的集合是一种特殊的集合,可以在其中放置侦听程序以查明对集合做出更改的时间。使用“检查器”窗口和属性表单,可以执行以下步骤以了解如何将JTable绑定到数据:1.在“检查器”窗口中,选择mainPanelJPanel masterScrollPaneScrollPane masterTableJTable节点。然后在“属性”窗口中单击“绑定”标签。2.查看elements属性,确认其与列表已绑定。3.单击省略号.按钮打开“绑定masterTable.elements”定制器,可以在其中进一步定制表与数据库之间的绑定。例如,可以查看定制器可用来指定要绑定哪些表列。除了属性表单中的“绑定”类别外,还可以使用上下文菜单中的“绑定”菜单。添加其他控件现在,我们要将最初排除的某些属性的控件添加到窗体中。除了使用表外,我们将添加JSlider组件(对于tire size和modernness属性)和JCheckbox组件(对于sun roof和spoiler)。执行以下步骤来添加其他组件:名师资料总结-精品资料欢迎下载-名师精心整理-第 9 页,共 20 页 -1.添加第一个滑块,方法是单击“组件面板”窗口中的“滑块”按钮,然后单击New按钮正上方的窗体。在单击该窗体以插入滑块之前,请确保未显示水平槽式基准线。这些基准线指示滑块将插入字段或按钮所在的同一行。请参见下图以了解应将滑块拖到窗体中的哪个位置。注意:如果将组件放到了非预期的位置,并因而导致不需要的布局更改,可以使用“撤消”命令来撤消更改。选择“编辑”“撤消”,或按Ctrl-Z组合键。2.如有必要,向左拉伸滑块以将它与文本字段组件的左边对齐。3.向右拉伸滑块使其宽度相当于整个窗体的宽度。4.在滑块的左边添加一个标签,并将其文本设置为TireSize。(单击标签使其可编辑。)5.在第一个滑块下方添加另一个滑块,并根据需要调整其宽度和位置。6.在TireSize标签下方添加另一个标签,并将其文本设置为Modernness。7.在这两个滑块下添加两个复选框。将其文本分别设置为Spoiler和Sun Roof。(确保显示文本可编辑,方法是单击复选框一次,暂停,然后再次单击该复选框。还可以右键单击复选框,并选择“编辑文本”。)窗体应该类似于如下所示的屏幕快照。名师资料总结-精品资料欢迎下载-名师精心整理-第 10 页,共 20 页 -将控件与表中的值绑定现在,我们将使用Bean绑定功能将表单元格中显示的值绑定到已添加的控件状态。这将使您能够通过使用滑块和复选框来更改表中单元格的值。要将滑块与其对应的表元素绑定,请执行以下操作:1.在窗体中,右键单击Tire Size滑块,然后选择“绑定”value。2.在“绑定”对话框的“绑定源”下拉列表中,选择masterTable。3.在“绑定表达式”下拉列表中,选择selectedElement tiresize节点。名师资料总结-精品资料欢迎下载-名师精心整理-第 11 页,共 20 页 -4.在窗体中,右键单击Modernness滑块,然后选择“绑定”value。5.在“绑定”对话框的“绑定源”下拉列表中,选择masterTable。6.在“绑定表达式”下拉列表中,选择selectedElementmodernness。要将复选框与其对应的表元素绑定,请执行以下操作:1.在窗体中,右键单击Spoiler复选框,然后选择“绑定”selected。2.在“绑定”对话框的“绑定源”下拉列表中,选择masterTable。3.在“绑定表达式”下拉列表中,选择selectedElement spoiler。4.单击“确定”退出“绑定”对话框。5.在窗体中,右键单击Sun Roof复选框,然后选择“绑定”selected。6.在“绑定”对话框的“绑定源”下拉列表中,选择masterTable。名师资料总结-精品资料欢迎下载-名师精心整理-第 12 页,共 20 页 -7.在“绑定表达式”下拉列表中,选择selectedRow sunRoof。8.单击“确定”。现在,应该能够使用滑块和复选框来更改数据库条目。要验证滑块和复选框是否有效,请执行以下操作:1.打开“服务”窗口。2.确保IDE已连接到数据库,方法是右键单击“数据库”jdbc:derby;/localhost:1527/car_database,并选择“连接”。3.右键单击“数据库”jdbc:derby;/localhost:1527/car_database“表”CAR节点,并选择“查看数据”。4.查看第一条记录的SUN_ROOF、SPOILER、TIRE_SIZE和MODERNNESS值。5.选择“运行”“运行主项目”来执行应用程序。正在运行的应用程序应该类似于如下所示的屏幕快照。名师资料总结-精品资料欢迎下载-名师精心整理-第 13 页,共 20 页 -6.在正运行的应用程序中,选择第一条记录。7.移动滑块并更改复选框选择。8.单击“保存”将更改保存到数据库中。9.在“服务”窗口中,再次使用“查看数据”命令。数据库中的值应反映所做的更改。设置定制组件为了运用更加图形化的方法来演示Bean绑定,让我们来添加将绘制所选汽车预览的定制组件。我们会将此组件的属性绑定到相应的表元素。然后,如果再次运行应用程序,则在更改选定的行并更改各种字段的值时,汽车预览也会被修改。要使CarPreview组件适用CarsApp项目,请执行以下操作:名师资料总结-精品资料欢迎下载-名师精心整理-第 14 页,共 20 页 -1.如果尚未生成CarPreview组件,则下载CarPreview.zip文件。2.使用标准zip工具,提取zip文件的归档文件。3.选择“文件”“打开项目”,并导航至zip文件的提取内容,然后选择CarPreview项目。4.单击“打开项目”。此时该项目会在IDE中打开。5.右键单击CarPreview节点,然后选择“清理并生成”。该操作将编译该项目中的文件,以使您能够将CarPreview类用作可直接拖放到窗体中的Bean。此组件是作为JavaBeans组件编写的,因此可以将其添加到组件面板中,这样便于将该组件添加到多个应用程序中。但是现在我们会直接将此组件从“项目”窗口拖动到应用程序中。要将CarPreview组件添加到应用程序中,请执行以下操作:1.在“项目”窗口中,展开CarPreview“源包”carpreview节点。2.将CarPreview.java类拖动到窗体中。要将该类插入菜单的正下方,请将其置于表的上方,与其他控件左对齐,并且折到菜单栏的底部,如下图所示。名师资料总结-精品资料欢迎下载-名师精心整理-第 15 页,共 20 页 -3.在整个窗体上水平调整预览组件大小。4.使用与将滑块和复选框绑定到masterTable组件中的元素相同的方法,将CarPreview组件的所有绑定属性绑定到masterTable的对应selectedElement属性。使用属性表单中的“绑定”弹出菜单或“绑定”标签。5.再次运行CarApp应用程序。在正运行的应用程序中,会在选择表中不同的行、更改表中的值、移动滑块以及选中和取消选中复选框时看到CarPreview组件的变化。下图显示了正在运行的最终应用程序。名师资料总结-精品资料欢迎下载-名师精心整理-第 16 页,共 20 页 -生成并部署应用程序如果您对应用程序正常工作的现状感到满意,可以准备在IDE外部署应用程序。在此部分中,将生成应用程序的可发布输出,并从IDE之外运行应用程序。生成应用程序IDE中的主生成命令是“清理并生成”命令。“清理并生成”命令可以删除以前编译的类和其他生成工件,然后从头开始重新生成整个项目。名师资料总结-精品资料欢迎下载-名师精心整理-第 17 页,共 20 页 -注意:还有一个“生成”命令,该命令不会删除旧的生成工件,但此命令缺省情况下处于禁用状态。有关详细信息,请参见 创建、导入和配置Java项目指南的“在保存时编译”部分。生成应用程序:选择“运行”“清理并生成主项目”(Shift-F11)。此时Ant生成脚本中的输出会显示在“输出”窗口中。如果未显示“输出”窗口,则可以通过选择“窗口”“输出”“输出”手动打开该窗口。清理并生成项目时,会出现以下情况:删除(“清理”)由以前的生成操作所生成的输出文件夹。(大多数情况下,这些文件夹为build和 dist文件夹。)将 build和 dist文件夹添加到项目文件夹(以下称为PROJECT_HOME文件夹)中。将所有源都编译成.class文件,并将这些文件放置在PROJECT_HOME/build文件夹中。在 PROJECT_HOME/dist文件夹中创建包含项目的JAR文件。如果您已为该项目指定了任何库(除了JDK之外),则在dist文件夹中将创建一个lib文件夹。这些库将被复制到dist/lib中。JAR中的清单文件更新后将包括用于指定主类的条目以及项目的类路径中的所有库。在IDE外部运行应用程序在IDE外部运行应用程序:名师资料总结-精品资料欢迎下载-名师精心整理-第 18 页,共 20 页 -1.从IDE外部启动Java DB。请访问http:/db.apache.org/derby/docs/dev/getstart/注意:还可以从IDE内部启动Java DB,但在退出IDE时,服务器将停止。2.使用系统的文件资源管理器或文件管理器导航至CarsApp/dist目录。3.双击 CarsApp.jar文件。几秒钟后,将会启动应用程序。注意:如果在双击JAR文件时没有启动应用程序,请参见 本文以了解在操作系统中设置JAR文件关联的相关信息。也可以通过命令行启动应用程序。通过命令行启动应用程序:1.从IDE外部启动Java DB。2.在您的系统上,打开命令提示符或终端窗口。3.在命令提示符中,转至CarsApp/dist目录。4.在命令行中,键入以下语句:java-jarCarsApp.jar将应用程序分发给其他用户现在您已验证了应用程序能够在IDE外部运行,接下来便可以分发该应用程序。分发应用程序:名师资料总结-精品资料欢迎下载-名师精心整理-第 19 页,共 20 页 -1.在系统中,创建一个zip文件,其中包含应用程序的JAR文件(CarsApp.jar)和附带的lib(它包含应用程序需要的其他JAR文件)。2.将该文件发送给要使用该应用程序的人员。指导他们解压缩zip文件,同时确保CarsApp.jar文件和 lib文件夹放置在同一个文件夹中。3.指示用户按照上面的 在IDE外部运行应用程序 部分中的步骤进行操作。后续步骤本教程介绍了IDE中对Swing应用程序框架和Bean绑定的支持。有关创建包含一对多和多对一关系的应用程序以及单独数据条目对话框的信息,请参见创建定制桌面数据库应用程序。有关将Hibernate用于Swing应用程序的持久性层的信息,请参见在JavaSwing应用程序中使用Hibernate。有关设计GUI应用程序的详细信息,请参见设计SwingGUI。有关在IDE中使用Bean绑定的详细信息,请参见在桌面应用程序中绑定Bean和数据。请将您的意见和建议发送给我们另请参见名师资料总结-精品资料欢迎下载-名师精心整理-第 20 页,共 20 页 -