Ada Li
用Java EE 5实现的网上书店实例 (二) - 数据准备
目录
第二部分:数据准备
创建数据库
在这节中使用Sun Java System Application Server 捆绑的Derby数据库, 完成创建数据库,创建表,建立数据库连接池,建立数据库资源等。
创建Derby数据库
-
启动 NetBeans IDE后,如果尚未启动数据库服务器,请选择“工具”>“Java DB 数据库”>“启动 Java DB 服务器”。
-
选择“工具”>“Java DB 数据库”>“创建 Java DB 服务器”。
-
在“创建 Java DB 服务器”输入如下信息:
-
数据库名称:bookshop
-
用户名:book
-
口令: book
图一: 创建bookshop数据库
-
NetBeans IDE会自动在”运行环境”>”数据库”接点下建立bookshop的数据库连接。
图: bookshop数据库连接
-
如果 bookshop 数据库的 jdbc 节点标记显示为连接中断
,并且无法展开该节点,则表明 IDE 未连接到该数据库。要连接
bookshop 数据库,请右键单击 bookshop 数据库的
jdbc 节点,。如果出现“连接”对话框,请输入 book作为口令,选中“在此会话期间记住口令”,然后单击“确定”。 -
如果未出现bookshop的数据库连接, 在“运行环境”窗口中,右键单击“数据库”,然后从弹出式菜单中选择“新建连接”以打开“新建数据库连接”对话框。
-
从“名称”下拉列表中选择 "Java DB (Network)"。
-
在“数据库 URL”文本框中,键入 jdbc:derby://localhost:1527/bookshop。
-
将“用户名”设置为 book,将“口令”设置为 book,然后单击“确定”。
-
在建立连接后,请单击“确定”以关闭对话框。
图2: 新建bookshop数据库连接
创建表
到这一步, bookshop数据库是全新的,因此它是空的。现在,开始添加表和数据。NetBeans IDE可以使用表向导来逐个创建表, 这个教程里使用SQL脚本.
使用SQL脚本创建表
-
右键单击bookshop数据库下的表节点,然后从弹出式菜单中选择”执行命令”。 -
在新打开的”SQL命令1”窗口中,输入以下SQL。代码样例 1:SQL
create table "BOOK"."CUSTOMER"
(
"CUSTOMER_ID" CHAR(12) not null primary key,
"CUSTOMER_NAME" VARCHAR(30),
"EMAIL" VARCHAR(40)
);
insert into customer values ( 'ada', 'Ada Li', 'ada.li@sun.com');
insert into customer values ( 'joey', 'Joey Shen', 'joey.shen@sun.com');
insert into customer values ( 'michael', 'Michael Li', 'tao.li@sun.com');
create table "BOOK"."PRODUCT"
(
"PRODUCT_ID" INTEGER not null primary key,
"PRODUCT_NAME" VARCHAR(100),
"PURCHASE_COST" DECIMAL(12,2)
);
insert into product values ( 1, 'Java(TM) EE 5 Tutorial', 34.64);
insert into product values ( 2, 'Java EE 5 Development using Glassfish Application Server', 32.50);
insert into product values ( 3, 'Enterprise JavaBeans 3.0', 31.49);
insert into product values ( 4, 'Sun Certified Enterprise Architect for Java EE study Guide', 32.99);
insert into product values ( 5, 'Java ME Game Programming', 49.99);
create table "BOOK"."PURCHASE_ORDER"
(
"ORDER_NUM" INTEGER not null primary key,
"CUSTOMER_ID" CHAR(12) not null,
"PRODUCT_ID" INTEGER not null,
"QUANTITY" SMALLINT
);
insert into PURCHASE_ORDER values ( 1, 'ada', 1, 1);
insert into PURCHASE_ORDER values ( 2, 'ada', 5, 1);
insert into PURCHASE_ORDER values ( 3, 'joey', 2, 2); -
点击”运行SQL”按钮, 运行成功的话,可以在bookshop 数据库连接的"表"节点,看到新生成三个表。
-
CUSTOMER
-
PRODUCT
-
PURCHASE_ORDER
-
右键单击表或列,然后从弹出式菜单中选择“查看数据”,可以查看表和列中的数据。
配置JDBC 连接池和JDBC资源
数据库连接池是服务器为特定的数据库提供的一组可重用的连接。请求数据库连接的应用程序将从该池中获取连接。当应用程序关闭某个连接后,该连接将会返回到连接池中。连接池属性可能随数据库供应商的不同而有所不同。一些公共属性包括数据库名称的 URL、用户名和口令等。
建立数据库连接池时,还将创建 JDBC 资源(也称为数据源)。JDBC 资源为应用程序提供了数据库连接。通常,应用程序所访问的每个数据库都至少有一个 JDBC 资源。一个数据库可以有多个 JDBC 资源。
下面介绍如何在Sun Java System Application上配置 JDBC 连接池和JDBC 资源
1.启动Sun Java System Application, 在NetBeans IDE的”运行环境”窗口中的”服务器”节点下, 右键单击”Sun Java System Application”, 选择”启动”
2.在浏览器地址窗口中,输入”http://localhost:4848”, 出现管理控制台登录界面. 缺省的管理员/密码: admin/adminadmin
配置 JDBC 连接池
接下来,将为bookshop数据库创建一个 JDBC 连接池,并定义数据库连接的特性。
-
在管理控制台的左窗格中,展开“资源”> "JDBC",然后选择“连接池”。
-
在“连接池”页中,单击“新建”以创建新的连接池。
-
在“创建连接池”向导的第一步, 输入和选择如下内容。
名称:bookshopPool
资源类型:javax.sql.XADataSource
数据库供应商:JavaDB
点击"下一步按钮"。 -
在“创建连接池”向导的第二步,找到属性部分,修改以下属性值。
DatabaseName: bookshop
User: book
Password: book
ServerName:localhost
PortNumber:1527
-
属性设置完成后,点击同一页面"ping"按钮,测试设置是否正确。如果正确,会显示"Ping 成功 "的信息. -
点击"完成"按钮,在Sun Java Application Server 中创建bookshopPool连接池.
配置 JDBC 资源
必须为bookshop创建一个 JDBC 资源,以便让部署后的应用程序能够通过它连接到bookshop数据库。
-
在管理控制台的左窗格中,展开“资源”> "JDBC",然后选择“JDBC 资源”。“资源”> "JDBC" >“JDBC 资源”页将在右窗格中打开。
-
单击“新建”。用于创建新 JDBC 资源的页将出现在右窗格中, 输入或选择如下内容。
JNDI名称:jdbc/bookshopDS
池名称:bookshopPool
-
点击"确定"按钮,在Sun Java Application Server 中创建JDBC 资源 jdbc/bookshopDS.
NetBeans IDE中可以直接创建JDBC 连接池和JDBC 资源
如果要将应用程序部署到 Sun Java System Application Server,则在 IDE 中使用“新建文件”向导可以轻松地建立数据库连接池和所需的数据源。通过在 IDE 中打开“新建文件”向导,选择“Sun 资源”类别,然后选择要创建的资源类型,可以为应用程序创建 JDBC 资源和连接池。使用“新建文件”向导可以执行以下操作:
当使用“新建文件”向导建立连接池时,IDE 将基于指定的连接生成所需的文件。在将应用程序部署到服务器时,会在 Sun Java System Application Server 中注册资源。
如果要将应用程序部署到 Sun Java System Application Server 以外的服务器,则需要通过编辑资源的源文件来建立资源。
Posted at 04:30上午 十一月 14, 2007 by ada in General | 评论[3]
thank you
发表于 mickey 在 2007年12月03日, 10:19 上午 CST #
thanks
发表于 218.18.128.27 在 2007年12月05日, 04:34 下午 CST #
so good thank you~!
发表于 222.35.229.47 在 2007年12月05日, 09:37 下午 CST #