




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、生成 Java 桌面數據庫應用程序本教程介紹如何創(chuàng)建可用于訪問和更新數據庫的桌面 Java 應用程序。本教程將利用 NetBeans IDE 中對以下技術的支持:· Java 持久性 API (JPA) - 幫助使用 Java 代碼與數據庫進行交互。 · Bean 綁定 (JSR-295) - 為不同的 JavaBeans 組件提供一種彼此同步屬性值的方法。例如,可以使用 Bean 綁定來使 JTable 可視組件中單元格的值與實體類中的字段值保持同步。(而實體類又表示數據庫表。) · Swing 應用程序框架 (JSR-296) - 為快速創(chuàng)建桌面應用程序提供了
2、一些有用的模塊。 我們將創(chuàng)建一個數據庫 CRUD(創(chuàng)建、讀取、更新、刪除)應用程序,其中包含一個用于對數據進行可視化(汽車設計預覽)的定制組件。本教程大量采用基于早期內部開發(fā)版本的 IDE 的截屏視頻。某些用戶界面從演示制作完成后就發(fā)生了變化,因此您可能會注意到本教程與演示之間存在一些差異??梢粤⒓床榭囱菔荆ù蠹s 9 分鐘)或下載演示的 zip 文件。預計時間:45 分鐘目錄· 設置數據庫· 啟動服務器并創(chuàng)建數據庫· 連接數據庫· 創(chuàng)建應用程序· 運行生成的應用程序· 檢查應用程序的已生成部分· 添加其他控件· 將
3、控件與表中的值綁定· 設置定制組件· 生成并部署應用程序· 后續(xù)步驟要學完本教程,您需要具備下表所列的軟件和資源。軟件或資源要求的版本NetBeans IDE版本 6.5Java Development Kit (JDK)版本 6 或版本 5Java DB 數據庫服務器(Java DB 包含在 JDK 6 中)汽車數據庫 SQL 腳本CarPreview 項目設置數據庫開始在 IDE 中創(chuàng)建桌面 CRUD(創(chuàng)建、讀取、更新、刪除)應用程序之前,應已將 IDE 連接到應用程序要使用的數據庫。提前設置此連接,您便可以利用 IDE 中的自動將數據庫綁定到應用程序這一功能
4、。在本教程中,我們提供了使用 Java DB 數據庫的說明,因為存在一個便于從 IDE 啟動和停止 Java DB 數據庫服務器的接口。但是,可以毫不費力地使用其他的數據庫服務器。 首先,驗證是否在 IDE 中注冊了 Java DB。在很多情況下,Java DB 是自動在 IDE 中注冊的(例如當您在 IDE 中注冊 GlassFish 應用程序服務器時,或者在 JDK 6 中運行時)。如果 Java DB 未在 IDE 中注冊,則手動將它注冊。要驗證 Java DB 是否已在 IDE 中注冊,請執(zhí)行以下操作:1. 打開“服務”窗口。 2. 右鍵單擊“數據庫”> "Java D
5、B" 節(jié)點,然后選擇“屬性”。 如果 Java DB 已注冊,則“Java 數據庫安裝”和“數據庫位置”這兩個字段均已填寫。如果 Java DB 未注冊,則填寫以下兩個字段:o Java 數據庫安裝。輸入指向數據庫服務器的路徑。 o 數據庫位置。輸入希望存儲數據庫的文件夾。 3. 單擊“確定”。 啟動服務器并創(chuàng)建數據庫在向 IDE 注冊 Java DB 之后,可以輕松地啟動和停止數據庫服務器,以及創(chuàng)建新數據庫。 要在 IDE 中啟動數據庫服務器,請執(zhí)行以下操作:· 在“服務”窗口中,右鍵單擊“數據庫”> "Java DB",然后
6、選擇“啟動服務器”。 如果還沒有為數據庫設定位置,則會出現“設置數據庫位置”對話框。輸入數據庫服務器用于存儲數據庫的位置。如果愿意,可以在該位置創(chuàng)建新文件夾。服務器啟動之后,“Java DB 數據庫進程”標簽會在“輸出”窗口中打開,并顯示類似于以下內容的消息:Apache Derby Network Server - .0 - (485682) started and ready to accept connections on port 1527 at 2007-09-05 10:26:25.424 GMT創(chuàng)建數據庫,請執(zhí)行以下操作:1. 在“服務”窗口中,右鍵單擊“數據庫”> &qu
7、ot;Java DB",然后選擇“創(chuàng)建數據庫”。 2. 對于“數據庫名稱”文本字段,鍵入 car_database。還要將“用戶名”和“口令”設置為 nbuser。 3. 單擊“確定”。 連接數據庫到目前為止,我們已成功啟動了數據庫服務器,并創(chuàng)建了一個數據庫。但是,我們還需要連接新數據庫,然后才能開始在 IDE 中使用該數據庫。要連接 car_database 數據庫,請執(zhí)行以下操作:1. 切換到“服務”窗口 (Ctrl+5),然后展開“數據庫”節(jié)點查看新數據庫。 2. 右鍵單擊“數據庫連接”節(jié)點 (jdbc:derby:/localhost:1527/car_databa
8、seNBUSER 上的 nbuser),選擇“連接”。 現在,連接節(jié)點圖標應該完全顯示 (),這表示連接已成功。3. 展開連接節(jié)點,右鍵單擊其“表”子節(jié)點,然后選擇“執(zhí)行命令”。 4. 復制 car.sql 文件的內容,并將其粘貼到源代碼編輯器的“SQL 命令 1”標簽中。 這是 SQL 腳本,該腳本將使用關于汽車的數據填充數據庫。5. 在源代碼編輯器工具欄中,單擊“運行 SQL”按鈕()以運行該腳本。 創(chuàng)建應用程序1. 選擇“文件”>“新建項目”。 2. 在向導的第一個面板中,展開 "Java" 類別,并選擇“Java 桌面應用程序”模板。單擊“下一步”。 “Jav
9、a 桌面應用程序”模板提供了可視應用程序的許多基本項,包括基本菜單項和命令。3. 在向導的“名稱和位置”頁中,執(zhí)行以下操作: 1. 在“項目名稱”字段中,鍵入 CarsApp。此字段的值會為“項目”窗口中的項目設置顯示名稱。 2. 選中“設置為主項目”復選框。 3. (可選)編輯“項目位置”字段來更改項目 meta 數據的位置。 4. (可選)選中“使用專用文件夾存儲庫”復選框,并指定庫文件夾的位置。有關此選項的詳細信息,請參見共享項目庫。 5. 在“選擇應用程序 Shell”字段中,選擇“數據庫應用程序”。 6. 單擊“下一步”。 4. 在向導的“主表”頁中,選擇 CAR 數據庫的數據庫連接
10、。數據庫的列表應該類似于以下內容:jdbc:derby:/localhost:1527/car_databaseNBUSER 上的 nbuser5. 填寫數據庫的口令 (nbuser),并選中“在此會話期間記住口令”復選框。 在建立與數據庫的連接后,“數據庫表”字段應該顯示 CAR,“要包含的列”列表應該包含 CAR 數據庫的 10 個列的名稱。目前,我們將在應用程序中只使用其中的 5 個列名稱。6. 選擇后五個列名稱(以 SUN_ROOF 開頭,以 MODERNNESS 結尾),然后單擊 < 按鈕將它們移到左列中。單擊“下一步”。 7. 在“詳細信息選項”面板中,單擊“完成”。 然后,
11、向導將生成一個帶有表和數據庫連接的基本用戶界面。IDE 生成項目和代碼可能需要幾秒鐘的時間。運行生成的應用程序此時,已有了一個正在運行的基本應用程序,其中包含的圖形用戶界面 (GUI) 具有以下功能:· 查看和修改 CAR 數據庫中五個列值的功能。 · 基本菜單項。 · 會話間窗口狀態(tài)的持久性。在關閉應用程序時,系統(tǒng)將記住窗口的位置和大小。這樣在重新打開應用程序時,窗口會在關閉它時所在的同一個位置打開。 · “關于”對話框,可以輕松地對它進行定制。 · .properties 文件,其中包含用戶界面中的標簽。使用 .properties 文件是
12、使代碼邏輯與出現在應用程序用戶界面中的文本分離的好方法。此外,這樣的分離有利于簡化程序的本地化。 要查看已內置到應用程序中的一些功能,請執(zhí)行以下操作:1. 右鍵單擊項目節(jié)點,然后選擇“運行”。 幾秒鐘后,應用程序將啟動并顯示一個名為 "Database Application Example" 的窗口。此窗口包含一張表和若干可用于編輯 CAR 數據庫的控件。2. 選擇表中的第一條記錄(關于 Acura)。 3. 選擇 "Price" 文本字段,并將現有值替換為 46999。然后按 Enter 鍵。 此時表中應顯示更新后的值。(但是,在單擊 "S
13、ave" 前,該值不會反映到數據庫中。)同樣地,可以更新表中的其他任何值。4. 單擊 "New" 創(chuàng)建一條新記錄。然后填寫每個字段 (Make, Model, Price, Body Style, Color) 的值。例如,可以填寫 Trabant、Classic、1000、wagon 和 blue。單擊 "Save" 將該條目保存到數據庫中。 5. 單擊 "Database Application Example" 標題欄,并將應用程序拖到屏幕上的其他位置。 6. 單擊 "Database Application
14、 Example" 窗口的左邊框并將其向左拖動以增大窗口。 7. 在 "Database Application Example" 菜單欄中,選擇 "File" > "Exit"。 8. 在 IDE 中,右鍵單擊項目節(jié)點,然后選擇“運行”項目。 此時,"Database Application Example" 窗口將打開,其大小和所在位置與關閉應用程序時相同。檢查應用程序的已生成部分主表(JTable 組件)與數據庫之間的連接是結合以下機制(所有這些機制都是由 IDE 生成的)進行處理的:
15、3; Car.java 實體類 - 用于在 CAR 數據庫表中進行讀寫數據的操作。實體類是一種特殊的類,使用它可以通過 Java 代碼與數據庫交互。實體類使用 Java 標注將類字段映射到數據庫列。 · META-INF/persistence.xml 文件 - 定義數據庫與實體類之間的連接。此文件也稱為持久性單元。 · 使用 Bean 綁定連接實體類的屬性與 JTable 組件的屬性。Bean 綁定是一項基于 JSR 295 的新技術,該技術可能會包含在將來的 Java SE 發(fā)行版中。 · entityManager、query 和 list 對象 - 它們在
16、 CarsView 類中定義,并且在“檢查器”窗口中列出。 o entityManager(實體管理器)對象用于在已定義的持久性單元作用域內檢索和提交數據。 o query(查詢)對象定義如何從實體管理器檢索數據收集??梢酝ㄟ^在“檢查器”窗口中選擇查詢對象并更改屬性表單中的 query 屬性來更改查詢對象的工作方式。query 屬性使用 JPA 查詢語言。 o list(列表)對象是保存查詢到的數據的可觀察集合??捎^察的集合是一種特殊的集合,可以在其中放置偵聽程序以查明對集合做出更改的時間。 使用“檢查器”窗口和屬性表單,可以執(zhí)行以下步驟以了解如何將 JTable 綁定到數據:1. 在“檢查器
17、”窗口中,選擇 "mainPanelJPanel" > "masterScrollPane ScrollPane" > "masterTable JTable" 節(jié)點。然后在“屬性”窗口中單擊“綁定”標簽。 2. 查看 "elements" 屬性,確認其與列表已綁定。 3. 單擊省略號 . 按鈕打開“綁定 masterTable.elements”定制器,可以在其中進一步定制表與數據庫之間的綁定。例如,可以查看定制器可用來指定要綁定哪些表列。 除了屬性表單中的“綁定”類別外,還可以使用上下文菜單中的“綁
18、定”菜單。添加其他控件現在,我們要將最初排除的某些屬性的控件添加到窗體中。除了使用表外,我們將添加 JSlider 組件(對于 tire size 和 modernness 屬性)和 JCheckbox 組件(對于 sun roof 和 spoiler)。執(zhí)行以下步驟來添加其他組件:1. 添加第一個滑塊,方法是單擊“組件面板”窗口中的“滑塊”按鈕,然后單擊 "New" 按鈕正上方的窗體。在單擊該窗體以插入滑塊之前,請確保未顯示水平槽式基準線。這些基準線指示滑塊將插入字段或按鈕所在的同一行。請參見下圖以了解應將滑塊拖到窗體中的哪個位置。 注意:如果將組件放到了非預期的位置,并
19、因而導致不需要的布局更改,可以使用“撤消”命令來撤消更改。選擇“編輯”>“撤消”,或按 Ctrl-Z 組合鍵。 2. 如有必要,向左拉伸滑塊以將它與文本字段組件的左邊對齊。 3. 向右拉伸滑塊使其寬度相當于整個窗體的寬度。 4. 在滑塊的左邊添加一個標簽,并將其文本設置為 Tire Size。(單擊標簽使其可編輯。) 5. 在第一個滑塊下方添加另一個滑塊,并根據需要調整其寬度和位置。 6. 在 "Tire Size" 標簽下方添加另一個標簽,并將其文本設置為 Modernness。 7. 在這兩個滑塊下添加兩個復選框。將其文本分別設置為 Spoiler 和 Sun R
20、oof。(確保顯示文本可編輯,方法是單擊復選框一次,暫停,然后再次單擊該復選框。還可以右鍵單擊復選框,并選擇“編輯文本”。) 窗體應該類似于如下所示的屏幕快照。將控件與表中的值綁定現在,我們將使用 Bean 綁定功能將表單元格中顯示的值綁定到已添加的控件狀態(tài)。這將使您能夠通過使用滑塊和復選框來更改表中單元格的值。要將滑塊與其對應的表元素綁定,請執(zhí)行以下操作:1. 在窗體中,右鍵單擊 "Tire Size" 滑塊,然后選擇“綁定”> "value"。 2. 在“綁定”對話框的“綁定源”下拉列表中,選擇 "masterTable"。
21、 3. 在“綁定表達式”下拉列表中,選擇 "selectedElement" > "tiresize" 節(jié)點。 4. 在窗體中,右鍵單擊 "Modernness" 滑塊,然后選擇“綁定”> "value"。 5. 在“綁定”對話框的“綁定源”下拉列表中,選擇 "masterTable"。 6. 在“綁定表達式”下拉列表中,選擇 "selectedElement" > "modernness"。 要將復選框與其對應的表元素綁定,請執(zhí)行以下操
22、作:1. 在窗體中,右鍵單擊 "Spoiler" 復選框,然后選擇“綁定”> "selected"。 2. 在“綁定”對話框的“綁定源”下拉列表中,選擇 "masterTable"。 3. 在“綁定表達式”下拉列表中,選擇 "selectedElement" > "spoiler"。 4. 單擊“確定”退出“綁定”對話框。 5. 在窗體中,右鍵單擊 "Sun Roof" 復選框,然后選擇“綁定”> "selected"。 6. 在“綁定”
23、對話框的“綁定源”下拉列表中,選擇 "masterTable"。 7. 在“綁定表達式”下拉列表中,選擇 "selectedRow" > "sunRoof"。 8. 單擊“確定”。 現在,應該能夠使用滑塊和復選框來更改數據庫條目。要驗證滑塊和復選框是否有效,請執(zhí)行以下操作:1. 打開“服務”窗口。 2. 確保 IDE 已連接到數據庫,方法是右鍵單擊“數據庫”> "jdbc:derby;/localhost:1527/car_database",并選擇“連接”。 3. 右鍵單擊“數據庫”> &quo
24、t;jdbc:derby;/localhost:1527/car_database" >“表”> "CAR" 節(jié)點,并選擇“查看數據”。 4. 查看第一條記錄的 SUN_ROOF、SPOILER、TIRE_SIZE 和 MODERNNESS 值。 5. 選擇“運行”>“運行主項目”來執(zhí)行應用程序。 正在運行的應用程序應該類似于如下所示的屏幕快照。6. 在正運行的應用程序中,選擇第一條記錄。 7. 移動滑塊并更改復選框選擇。 8. 單擊“保存”將更改保存到數據庫中。 9. 在“服務”窗口中,再次使用“查看數據”命令。 數據庫中的值應反映所做的更改。
25、設置定制組件為了運用更加圖形化的方法來演示 Bean 綁定,讓我們來添加將繪制所選汽車預覽的定制組件。我們會將此組件的屬性綁定到相應的表元素。然后,如果再次運行應用程序,則在更改選定的行并更改各種字段的值時,汽車預覽也會被修改。要使 CarPreview 組件適用 CarsApp 項目,請執(zhí)行以下操作:1. 如果尚未生成 CarPreview 組件,則下載 CarPreview.zip 文件。 2. 使用標準 zip 工具,提取 zip 文件的歸檔文件。 3. 選擇“文件”>“打開項目”,并導航至 zip 文件的提取內容,然后選擇 CarPreview 項目。 4. 單擊“打開項目”。
26、此時該項目會在 IDE 中打開。5. 右鍵單擊 "CarPreview" 節(jié)點,然后選擇“清理并生成”。 該操作將編譯該項目中的文件,以使您能夠將 CarPreview 類用作可直接拖放到窗體中的 Bean。此組件是作為 JavaBeans 組件編寫的,因此可以將其添加到組件面板中,這樣便于將該組件添加到多個應用程序中。但是現在我們會直接將此組件從“項目”窗口拖動到應用程序中。要將 CarPreview 組件添加到應用程序中,請執(zhí)行以下操作:1. 在“項目”窗口中,展開 "CarPreview" >“源包”> "carpreview
27、" 節(jié)點。 2. 將 CarPreview.java 類拖動到窗體中。要將該類插入菜單的正下方,請將其置于表的上方,與其他控件左對齊,并且折到菜單欄的底部,如下圖所示。 3. 在整個窗體上水平調整預覽組件大小。 4. 使用與將滑塊和復選框綁定到 masterTable 組件中的元素相同的方法,將 CarPreview 組件的所有綁定屬性綁定到 masterTable 的對應 selectedElement 屬性。使用屬性表單中的“綁定”彈出菜單或“綁定”標簽。 5. 再次運行 CarApp 應用程序。 在正運行的應用程序中,會在選擇表中不同的行、更改表中的值、移動滑塊以及選中和取消選
28、中復選框時看到 CarPreview 組件的變化。下圖顯示了正在運行的最終應用程序。生成并部署應用程序如果您對應用程序正常工作的現狀感到滿意,可以準備在 IDE 外部署應用程序。在此部分中,將生成應用程序的可發(fā)布輸出,并從 IDE 之外運行應用程序。生成應用程序IDE 中的主生成命令是“清理并生成”命令?!扒謇聿⑸伞泵羁梢詣h除以前編譯的類和其他生成工件,然后從頭開始重新生成整個項目。注意:還有一個“生成”命令,該命令不會刪除舊的生成工件,但此命令缺省情況下處于禁用狀態(tài)。有關詳細信息,請參見創(chuàng)建、導入和配置 Java 項目指南的“在保存時編譯”部分。生成應用程序:· 選擇“運行”&
29、gt;“清理并生成主項目”(Shift-F11)。 此時 Ant 生成腳本中的輸出會顯示在“輸出”窗口中。如果未顯示“輸出”窗口,則可以通過選擇“窗口”>“輸出”>“輸出”手動打開該窗口。清理并生成項目時,會出現以下情況:· 刪除(“清理”)由以前的生成操作所生成的輸出文件夾。(大多數情況下,這些文件夾為 build 和 dist 文件夾。) · 將 build 和 dist 文件夾添加到項目文件夾(以下稱為 PROJECT_HOME 文件夾)中。 · 將所有源都編譯成 .class 文件,并將這些文件放置在 PROJECT_HOME/build 文件夾中。 · 在 PROJECT_HOME/dist 文件夾中創(chuàng)建包含項目的 JAR 文件。 · 如果您已為該項目指定了任何庫(除了 JDK 之外),則在 dist 文件夾中將創(chuàng)建
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 北師大版數學七年級上冊課程標準落實計劃
- 幼兒園財務崗位責任與職責 他
- 2024-2025小學語文教研組課程優(yōu)化計劃
- “雙減”背景下城市中小學課堂教學質量心得體會
- 監(jiān)理安全事故處理個人總結范文
- 家庭貧困學生控輟保學措施
- 初中班主任學情分析改進計劃
- 住院期間患者VTE風險評分流程他
- 微信婚慶服務營銷活動方案流程他
- 以少年文學為翼翱翔心理健康藍天:初中生心理素質培養(yǎng)新路徑
- 法醫(yī)職稱考試試題及答案
- 銀行保密知識培訓課件
- 高校學科重塑路徑研究
- DB12T 1444-2025 博物館消防安全管理導則
- 硫化氫題庫及答案
- 2025年中國農機流通行業(yè)市場全景評估及發(fā)展戰(zhàn)略規(guī)劃報告
- 低壓培訓課件
- 2025-2030中國洗胃機產業(yè)運營現狀分析與未來前景趨勢展望報告
- Unit 2 Home Sweet Home 第3課時(Section A 3a-3c) 2025-2026學年人教版英語八年級下冊
- 安全生產月題庫-安全生產知識競賽題庫(1800道)
- 教師團隊協(xié)作與溝通能力
評論
0/150
提交評論