數據庫網頁
需要創建網頁來訪問數據庫嗎?想在自己選擇的操作系統上進行開發和部署嗎?您的時間緊迫嗎?本文將向您展示如何利用 DB2 UDB 和 Application Developer 開發用來訪問數據的應用程序。首先要創建數據庫。在創建數據庫之後,將創建一個表,然後添加一些列。最後便可以利用 Application Developer 開發應用程序了。此外,還要創建一條 SQL 語句來訪問數據庫。而且還需要創建一些 JSP、servlet 和 Html 頁。
場景
Biker Bob 的自行車店需要一種跟蹤零件的方法。Larry(又名 Tiny)是管理零件的人,當零件到達裝載平台時,他需要記錄零件並將其放到正確的零件箱中。Tiny 了解自行車而不了解計算機,所以,為了管理 Biker Bob 的自行車店,需要在裝載平台上放置一台“啞終端”,以供 Tiny 使用。如果該終端基於 GUI 而且與用戶友好,那麼 Tiny 應該可以導航基於浏覽器的瘦客戶機。該過程的工作方式如下:從裝載平台開始,Bob 登錄並更新數據庫的 Parts Number、Name、Location、Quantity、Price 和所有 Notes。Tiny 還需要接收數據庫已成功更新的答復。
需要的軟件
IBM DB2 UDB V8.2 for Linux
可以從 此處下載 DB2 UDB。
如果需要獲得有關安裝 DB2 UDB 的幫助,請參閱以下 網站。
IBM WebSphere Studio Application Developer for Linux
如果還需要 Application Developer。可以從 此處下載 Application Developer 的副本。
如果需要獲得有關安裝 Application Developer 的幫助,請參閱以下 網站。
DB2 UDB V8.2
假定 DB2 UDB V8.2 和 Application Developer 已安裝,您需要做的第一件事就是創建數據庫和表。我們將使用 DB2 的 Command Center 來完成所有數據庫方面的工作。Command center 位於 Control Center 內。所以,您需要啟動 Control Center。可以以兩種不同的方式啟動 Control Center:使用 GUI 或命令行。現在請啟動 Control Center。
圖 1. DB2 Control Center
在 Control Center 左側,可以看到數據庫服務器的分層結構視圖。我們需要創建名為 parts 的數據庫。在窗口的右下方,單擊 Create New Database>。參見圖 2。
數據庫創建
圖 2. 創建新數據庫
在創建數據庫的過程中,系統將提示您回答幾個有關數據庫維護的問題。第一個問題是關於維護窗口的創建。DB2 UDB 具有自動備份數據庫和整理數據庫碎片的能力。DB2 UDB 需要使數據庫不可用,以便進行維護。請選擇以下選項:
Yes, I can specify an offline maintenance window of at least an hour when the database is inAccessible.
圖 3. 維護窗口
然後,需要設置數據庫的脫機時間。由於 Biker Bob 的商店在下午 5:00 關門,我們將選擇早上 1:00 作為脫機時間。參見圖 4。
圖 4. 脫機時間
可將 DB2 UDB 設置為在出現異常狀況時通過電子郵件進行通知。
圖 5. 郵件服務器
下面的窗口用於設置電子郵件通知地址。Joe(又名 Road Rash)是 DBA。當出現異常狀況時,他想得到通知,這一點可以理解。
圖 6. 電子郵件通知
圖 7 中的窗口顯示了創建數據庫的總結。它包括 Database Name、Directory Location、Maintenance Window、SMTP Server 和 Contact Info。如果您對所做的選擇感到滿意,請選擇 Finish。接下來將創建數據庫。
圖 7. 數據庫總結
數據庫表的創建
既然已成功創建了數據庫,現在需要創建 零件表。參見圖 8。在左側,您將看到 parts 數據庫的樹形結構圖。 創建表後,頂部的窗口中將包括表。右下方的窗口中將包括操作項。這就是您要創建數據庫表的位置。
單擊 Create New Table。
圖 8. 創建新表
可以在這裡指定 Table Name、Schema 和所有 Comment。參見圖 9。
圖 9. 表名
列的創建
您將使用 DB2 UDB 預先定義的列的選項來創建列。插入列後,您可以再進行一些自定義來滿足應用程序的需要。請選擇 Add Predefined 列的按鈕。
圖 10. 列創建
在 Column categorIEs 中, 突出顯示 Inventory 並選擇 PART_NUMBER、PART_NAME、LOCATION、QUANTITY 和 NOTES。然後選擇 MONEY 列類別,並將 UNIT_PRICE 插入要創建的列中。參見圖 11。其中應該有 6 列。最後選擇 Apply。
圖 11. 預先定義的列
我們需要對列進行一些更改。需要將 NOTES 之外的所有列都設為 Not Nullable。 突出顯示這些列,並選擇 Change。不應選中可空按鈕(nullable button)。並且需要將 PART_NUMBER 列的 datatype 更改為 smallinit。更新清單時,需要為 PARTS_NUMBER 列自動分配一個 PART_NUMBER。然後選擇 Value generation 選項卡。最後選中 identity 並設置其 初始值為 1, 且 增量為 1。 參見圖 11a,如下所示。
圖 11a. PARTS_NUMBER
UNIT_PRICE 列中有兩個值需要設置。這兩個值是 Precision 和 Scale。 Precision 是指小數點左右的總位數。 Scale 設置小數點右側的位數。
圖 12. 單價
完成這些任務後,列將變成如圖 13 所示。單擊 Finish 按鈕來創建表。
圖 13. 預先定義的列
您將看到如圖 14 中所示的消息 generated SQL and Command completed successfully。
圖 14. 表的創建
數據庫創建總結
我們來快速總結一下到目前為止所執行的操作。您創建了零件數據庫,並設置了維護窗口,配置了異常狀況下的電子郵件聯系方式。然後創建了名為 parts 的數據庫表。該表包含 6 列。這些列是 PARTS_NUMBER、PARTS_LOCATION、QUANTITY、NOTES 和 UNIT_PRICE。 PARTS_NUMBER 列將自動創建一個號碼並以 1 遞增。所有列均被設置為 Not Nullable, NOTES 列除外。
WebSphere Studio Application Developer
數據庫網頁項目的下一步是實際開發 Web 頁面本身。在這一步中,我們將使用 Application Developer 來創建 Html、SQL、JSP 和 Servlet。Application Developer 是基於 Eclipse 框架的集成開發環境。
Web 項目的創建
以 DB2 用戶的身份登錄,如 (db2inst1),並啟動 Application Developer。然後選擇自己的工作區。既然要創建新的項目,請選擇 File - > New -> Project。我將該項目命名為 BikerBobs。
圖 15. 新項目
您將注意到,Application Developer 將創建一個 Web Prespective。在左面的列中,您將看到 BikerBobs 項目。
圖 16. BikerBobs
現在我們已創建了 Web 項目,接下來需要設置數據庫連接。在頂部的菜單欄中,選擇 Window- > Open Prespective- > Data。在左下方,您將看到 Data 透視圖。參見圖 17。
圖 17. Data 透視圖
將鼠標置於 Data Perspective 空白區域並單擊右鍵。 然後選擇 New Connection 來創建新的數據庫連接。您將在左下方看到連接。而且需要輸入以下信息: Connection Name- > Database- > User ID- > PassWord- > Database Type- > JDBC Driver。可以在以下位置找到類文件: /home/db2inst1/sqllib/java2/db2Java.zip。參見圖 18,如下所示。
圖 18. 數據連接
現在,數據庫連接已創建。
圖 18. 數據連接
添加一個簡單的數據庫項目
在創建數據庫連接後,應該創建一個單獨的項目來存儲生成的文件。以這種方式組織文件可以防止主要項目出現混亂,從而更易於您在團隊成員之間分配工作。在工作台菜單欄上,單擊 File- > New- > Project。在新項目向導中,從左側列表中單擊 Simple,然後在右側依次單擊 Project、 Next。在 Project Name 字段中,鍵入 inventory 並單擊 Finish。
圖 20. 數據庫項目
導入數據庫設計
創建數據庫連接後,需要將該連接與創建的 inventory 項關聯起來。要使該連接與 DB Servers perspective 中的選項相關聯, 請雙擊 Con1 連接展開它。突出顯示 parts database,右擊並選擇 Import to Folder。將數據庫設計導入 inventory 項中。
創建數據庫網頁
使用 Create Database Web Page 向導時,創建可訪問數據庫的網頁相對容易一些。該向導將幫助您執行以下操作。
指定要創建的動態網頁。
指定 SQL 語句信息。
構造 SQL 語句。
指定變量值。
執行 SQL 語句
指定運行時數據庫連接信息。
設計輸入表單。
要啟動創建數據庫向導並指定要創建的動態網頁:
在工作台的左邊的頁邊空白中,切換到 Web 透視圖。
在 J2EE Navigator 視圖 中, 展開 BikerBobs 項目文件夾並 選擇/右擊 Web Content 文件夾。
在彈出菜單中, 單擊 New > Other。
在 New 向導中,依次單擊 Web、 Database Web Pages、 Next。
圖 21. 數據庫網頁
“Create Database Web Pages”向導將打開。對於 Model 下拉菜單,請選擇 IBM Database Access Tag Library – Insert statement。
圖 22. 數據庫網頁
單擊 Next。出現 Choose SQL Method 窗口。選擇 Be guided through creating an SQL statement。確保已選中 Use existing database model 選項。單擊 Browse,然後展開 inventory 項目文件夾。最後選擇 parts 數據庫。單擊 OK。
圖 23. 創建 SQL 語句
構造 SQL 語句
在 Tables 選項卡上,在 Available Tables 列表中展開 Schema 節點和 Tables 節點。
選擇 DB2INST1.parts 表,並單擊 > 將該表添加到已選表的列表中。
圖 24. 表的選擇
列值
我們需要為每一行分配列值。請記住,無需為 Part_Number 分配列值,因為該列的值是自動分配的。分配完列值之後,請單擊 Next。
圖 25. 列值
該窗口將顯示生成的 SQL。單擊 Parse 以檢查語句有無語法錯誤。現在讓我們來測試這條語句,請單擊 Execute。
圖 26 SQL 語句
圖 27 顯示了 Insert SQL 語句。單擊 Execute。
圖 27. 執行 SQL 語句
如圖 28 所示,出現“Specify Variables”窗口。需要輸入一些值來測試 Insert 語句。在 5 個列中輸入值。請記住,通過指定值 'Seat'(帶有單引號),可以把字符串值插入數據庫列 PART_NUMBER 中。這也適用於 NOTES 列。單擊 Finish 來測試語句。
圖 28. 變量值
在查詢結果中,您將注意到已經成功執行了語句。由於這是一個 INSERT 語句,所以不會返回結果。單擊 Close。隨後的一頁是運行時連接頁。請接受默認選項並單擊 Next。
圖 29. 查詢結果
我們現在准備創建前端控制器。請確保已選中 Front Controller。 還可以指定一個錯誤頁,以及一個樣式表。單擊 Next。
圖 30. 前端控制器
Designing an Input Form 允許您定制輸入表單來滿足自己的需要。還可以將列的標簽名稱更改為可讀性更好的名稱。將 PART_NAME 的標簽更改為 Name 便是一個例子。使用箭頭按鈕可以更改列的順序。在 Page 選項卡上,可以設置 Page Title、Background、Title 和 FIEld color。 然後單擊 Next。
圖 31. 設計輸入表單
Designing Insert VIEw 窗口允許您定制數據庫成功更新後的返回表單。如您所見,我已輸入了標題,並設置了背景、標題和字段顏色。單擊 Next。