使用 Java DB (Derby) 数据库
本文档演示了如何在 NetBeans IDE 中设置 Sun Java DB 数据库连接。在建立连接之后,即可开始在 IDE 中使用该数据库,您可以执行的操作包括创建表、用数据填充表、运行 SQL 语句和查询等。
Java DB 数据库是 Sun 支持的 Apache Derby 版本。Java DB 是完全事务型、安全且基于标准的数据库服务器,它全部采用 Java 编写,并且完全支持 SQL、JDBC API 和 Java EE 技术。Java DB 数据库与 GlassFish 应用服务器打包在一起,也包含在 JDK 6 中。有关 Java DB 数据库的详细信息,请查阅正式文档。
预计时间:30 分钟
目录

要学习本教程,您需要具备以下软件和资源。
注意:Java DB 包含在 JDK 6 和 GlassFish 应用服务器(v2 和 v3)中。在安装这些软件产品中的任意产品时,即会安装该数据库。
配置数据库
如果已在 NetBeans IDE 安装中注册了 GlassFish Enterprise 服务器,则将为您注册 Java DB。因此,可以向下跳转至启动服务器并创建数据库。
如果单独下载了 GlassFish 应用服务器,并需要获取有关在 NetBeans IDE 中对其进行注册的帮助,请参见 IDE“帮助内容”(F1) 中的注册 GlassFish 应用服务器实例。
如果仅下载了 Java DB,请执行以下操作:
- 运行自解压文件。将在与该文件相同的位置创建一个名为 "javadb" 的文件夹。如果仅下载了 Java DB,并且希望将该数据库服务器放在与其解压缩位置不同的位置中,现在应重新对其定位。
- 在系统上,创建一个新目录,作为数据库服务器的各实例的 Home 目录。例如,可以在 Java DB 根目录 (javadb) 或其他任意位置创建此文件夹。
在继续执行下一步操作之前,应了解 Java DB 根目录的各个组成部分,这一点很重要:
- demo 子目录包含演示程序。
- bin 子目录包含用于执行实用程序和设置环境的脚本。
- javadoc 子目录包含通过源代码注释生成的 API 文档。
- docs 子目录包含 Java DB 文档。
- lib 子目录包含 Java DB jar 文件。
在 NetBeans IDE 中注册数据库
现在,您已配置数据库,接下来可以在 IDE 中对其进行注册:
在“服务”窗口中,右键单击 "Java DB" 数据库节点,然后选择“属性”。
Java DB 设置对话框打开。
- 在“Java 数据库安装”文本字段中,输入在上一步中指定的 Java DB 根目录 (javadb) 的路径。
- 对于数据库位置,将路径设置为创建的 Home 目录或保留缺省设置。下面的屏幕截图显示了 Java DB 服务器的示例设置。完成操作后,单击“确定”。

启动服务器并创建数据库
在“服务”窗口中右键单击 "Java DB" 节点时,将显示 Java DB 数据库菜单选项。通过这些上下文菜单项,可以启动和停止数据库服务器、创建新的数据库实例,以及在 IDE 中注册数据库服务器(如以上步骤所示)。要启动数据库服务器,请执行以下操作:
-
在“服务”窗口中,右键单击 "Java DB" 节点,然后选择“启动服务器”。请注意“输出”窗口中的以下输出内容,该内容指示服务器已经启动。

-
右键单击 "Java DB" 节点并选择“创建数据库”。
“创建 Java DB 数据库”对话框打开。
-
在“数据库名称”文本字段中,键入 contact。此外,将“用户名”和“口令”设置为 nbuser。
请注意,“数据库位置”是在从 GlassFish 安装 Java DB 过程中设置的缺省位置。如果单独安装了 Java DB,则此位置将会有所不同。单击“确认”。

连接到数据库
到目前为止,已在 IDE 中成功启动了数据库服务器并创建了一个名为 contact 的数据库实例。NetBeans IDE 的数据库资源管理器可从“服务”窗口打开,它提供了对数据库结构执行常见任务的功能。其中包括:
- 创建、删除和修改表
- 用数据填充表
- 查看表格数据
- 执行 SQL 语句和查询
要开始使用 contact 数据库,需要创建到该数据库的连接。要连接 contact,请执行以下操作:
在“服务”窗口中展开数据库资源管理器,并找到新数据库。

注意:sample [app on APP] 是缺省数据库架构。
右键单击数据库连接节点 (jdbc:derby://localhost:1527/contact [nbuser on NBUSER]),然后选择“连接”。
现在,将显示完整的连接节点图标 (
),这表示已成功建立连接。
- 为数据库创建一个适当的显示名称。要执行次操作,请右键单击数据库连接节点 (jdbc:derby://localhost:1527/contact [nbuser on NBUSER]) 然后选择“属性”。选择“显示名称”旁的省略号 (...) 按钮,然后在文本字段输入 Contact DB。
现在,IDE 中的数据库具备了一个更适当的显示名称。
创建表
刚创建的 contact 数据库当前为空。该数据库尚未包含任何表或数据。在 NetBeans IDE 中,可以通过下列任一方法添加数据库表:使用“创建表”对话框,或输入 SQL 语句并从 SQL 编辑器中直接运行该语句。要了解这两种方法的具体操作步骤,请参见以下部分:
添加表数据
现在,您已在 contact 数据库中创建了一个或多个表,接下来可以开始用数据填充表。有下列几种方式可以将记录添加到表中:
阅读下节,了解如何使用用数据填充 FRIENDS 表的所有方法。
运行 SQL 语句
- 在数据库资源管理器中展开“表”节点,右键单击 FRIENDS 表并选择“执行命令”。会在 SQL 编辑器窗口中打开一个空画布。
- 在 SQL 编辑器中,输入以下语句。键入时可以使用 SQL 编辑器代码完成。
INSERT INTO APP.FRIENDS VALUES (1,'Theodore','Bagwell','T-Bag','2004-12-25','tbag@foxriver.com')
- 在 SQL 编辑器中单击鼠标右键,然后选择“运行语句”。“输出”窗口将显示一条消息,指示已成功执行该语句。
-
要验证是否已将新记录添加到 FRIENDS 表中,请在“服务”窗口中右键单击 "FRIENDS" 表节点,然后选择“查看数据”。
选择“查看数据”时,在 SQL 编辑器的上方窗格中自动生成一个查询,用于选择表中的所有数据。在 SQL 编辑器的下方窗格中显示该语句的结果。在这种情况下,FRIENDS 表将显示在下方窗格中。请注意,已添加了一个新行,其中包含刚通过 SQL 语句提供的数据。

使用 SQL 编辑器
- 右键单击 FRIENDS 表节点并选择“查看数据”(如果在上一部分的最后一步中没有执行此操作)。
- 单击“插入记录”(Alt-I) 按钮以添加一行。
即会显示“插入记录”对话框。
- 单击每个单元并输入记录。注意,对于“日期”数据类型的单元,可以从日历中选择一个日期。完成后单击“确定”。

在 SQL 编辑器中,可以通过单击行表头对结果进行排序、修改和删除现有记录,并查看编辑器中正在执行操作的 SQL 脚本(通过弹出式菜单显示 SQL 脚本命令)。
删除表
在下一步中,将使用外部 SQL 脚本创建一个新的 COLLEAGUES 表。但是,在上文的“使用 SQL 编辑器”部分中刚创建了一个 COLLEAGUES 表。要确保 SQL 脚本确实创建一个新表,现在可以删除已创建的 COLLEAGUES 表。要删除数据库表,请执行以下操作:
- 在数据库资源管理器中右键单击该表节点,然后选择“删除”。
注意,将会立即从数据库资源管理器中删除该表节点而不经确认。
使用外部 SQL 脚本
从外部 SQL 脚本中发出命令是管理数据库的一种常用方式。您可能已在其他位置创建了 SQL 脚本,并希望将其导入到 NetBeans IDE 中,以对指定的数据库运行该脚本。
为了便于说明,请将 SQL 从 colleagues.sql 复制到一个文本文件中,然后将其保存到计算机上的某个位置。此脚本将创建一个名为 COLLEAGUES 的新表,并用数据填充该表。要对 contact 数据库运行此脚本,请执行以下操作:
- 从 IDE 的主菜单中选择“文件”>“打开文件”。在文件浏览器中,导航至 colleagues.sql 文件的保存位置,然后单击“打开”。将自动在 SQL 编辑器中打开该脚本。
-
确保从编辑器顶部工具栏的“连接”下拉框中选择了 Contact DB 连接。

- 单击 SQL 编辑器任务栏中的“运行 SQL”(
) 按钮。将对选定的数据库执行该脚本,并在“输出”窗口中生成任何反馈。
- 要验证更改,请在“服务”窗口中右键单击 "Contact DB" 连接节点,然后选择“刷新”。请注意,在“服务”窗口中的 contact 下面将显示通过 SQL 脚本创建的新 COLLEAGUES 表的表节点。
- 要查看新表中包含的数据,请右键单击 COLLEAGUES 表并选择“查看数据”。通过这种方法,还可以将表格数据与 SQL 脚本中包含的数据进行比较,以查看它们是否匹配。
重新创建来自其他数据库的表
如果您有一个来自其他数据库的表,并希望通过 NetBeans IDE 在所使用的数据库中重新创建该表,IDE 为此提供了非常方便的工具。首先,需要在 IDE 中注册第二个数据库,其过程与本教程开始部分描述的过程类似。就本教程而言,将使用 sample 数据库,如果您安装 GlassFish 应用服务器和 NetBeans IDE,该数据库将与 Java DB 打包在一起。此过程实质上分两部分执行:首先“抓取”选定表的表定义,然后在选择的数据库中重新创建该表,具体操作如下所示:
- 通过以下方法连接到 sample 数据库:在数据库资源管理器中右键单击该连接节点,然后选择“连接”(用户名和口令分别为 app)。
-
展开“表”节点。右键单击 "CUSTOMER" 表节点,然后选择“抓取结构”。

- 在打开的“抓取表”对话框中,指定计算机上的某一位置,以保存将要创建的抓取文件。单击“保存”。抓取文件记录选定表的定义。
- 在数据库资源管理器中,右键单击 Contact DB 数据库连接下的“表”节点,然后选择“重新创建表”。
在打开的“重新创建表”对话框中,导航至 CUSTOMER 抓取文件的保存位置,然后单击“打开”。“命名表”对话框打开。

-
此时,可以更改表名称或编辑表定义。否则,请单击“确定”,以在 contact 数据库中立即创建表。Contact DB 连接节点下将显示新的 CUSTOMER 表节点。

另请参见
以下内容是对“使用 Java DB (Derby) 数据库”教程的总结。本教程演示了如何在 NetBeans IDE 中设置 Java DB 数据库连接。接着,演示了如何使用 IDE“服务”窗口中的数据库资源管理器来创建、查看、修改和删除表。此外,本教程还演示了如何使用 SQL 编辑器向表中添加数据,以及如何在 IDE 中使用来自其他数据库的定义重新创建表。
有关更多相关的高级教程,请参见以下资源: