簡體   English   中英

Java獨立客戶端應用程序

[英]Java Stand alone Client Application

我只是一個剛剛開始使用Java的開發人員,現在我需要構建一個獨立的應用程序(不是Web應用程序,而是需要在桌面上運行的客戶端應用程序),需要與數據庫進行交互。 有人能指出哪種技術/框架最適合哪種方式可以幫助我實現這一目標?

Java中是否有一個框架可以幫助您與一個簡單的數據庫(如MySQL)進行交互,並幫助您創建非常好的GUI,以后可以將其轉換為Windows .exe可執行文件?

Java程序永遠不能轉換為.exe 輸出通常是一個jar文件,只要你在系統上有JDK就可以在任何OS上運行。

您可以在JAVA中使用Swing來創建良好的GUI,並可以使用MySql library為JAVA輕松連接到MySQL。

補充Byter的答案:

你將使用兩個庫/框架。 一個用於GUI,另一個用於數據庫訪問。 作為GUI的一個選項,還有SWT。

對於數據庫訪問,可以簡單地使用java的內置JDBC和mysqls jdbc驅動程序。

你問過框架和工具:

  • 首先,我會使用Swing ,因為它是標准的,並且在開箱即用的所有平台中得到很好的支持
  • 目前我認為我會選擇Better Swing應用程序框架(BSAF) 它重量輕,可擴展性好
  • 為了設計UI,我建議使用Eclipse和Window Builder插件。 它在雙向編輯方面做得不錯(意味着您的代碼中沒有阻塞區域,並且它還能夠解釋現有的GUI)
  • 另一種方法是手動繪制UI並使用自定義布局管理器(如JGoodies FormsMigLayout)實現它
  • 為了訪問數據庫,我還推薦一個ORM映射器,比如EclipseLink (從未使用它)或Hibernate (使用和喜歡它很多)。
  • 我總是通過添加服務層在UI和數據庫之間繪制一個分隔層。 為什么? 它大大提高了可維護性! 如果您計划使用客戶端將連接的應用程序服務器,則可以使用Spring框架 (可以使用ORM映射器和客戶端計算機上的所有內容,或使用Enterprise Java Bean)來完成此操作。
  • 為了交付您的應用程序,您可以使用常見的安裝程序工具,如Nullsoft安裝程序 ,其中包含一個JRE,然后使用另一個工具如Launch4J包裝該應用程序(盡管我從未嘗試過這個)。

如果您不熟悉Java或面向對象編程,請閱讀Effective Java (通常用於Java)和Martin Fowlers對幾種表示模式的描述 - 這里我最喜歡被動視圖

這真的很多,但如果你想“正確”,那么我認為沒有辦法解決它。

我建議您正確分層應用程序並分階段執行操作。

您可以在沒有UI的情況下使數據庫塊工作。 我建議你先做。 開發它,測試它的鼻涕,並把它放在一邊。

您需要UI和數據庫之間的服務層。 它將管理請求,驗證,安全性,交易等。開發它,測試它的鼻涕,並把它放在一邊。

只有當其余部分到位時,才能繼續使用UI。

如果您對Java不熟悉,我推薦一個易於使用的IDE來啟動。 我會選擇JDeveloper作為官方的oracle IDE,並且即使使用可視化設計器,也可以提供開發桌面或Web應用程序所需的一切。 它是免費的,我認為它需要你注冊oracle網站,但這是值得的。

這是一個關於如何使用JDeveloper和swing構建一個小型可視Java應用程序的教程: http//docs.oracle.com/cd/E18941_01/tutorials/jdtut_11r2_2/jdtut_11r2_2.html

至於數據庫技術,最好是你可以使用ORM。 我推薦使用帶有EclipseLink的JPA,它已經在JDeveloper IDE中,這里有一個關於如何做到這一點的教程: http//st-curriculum.oracle.com/obe/jdev/obe11jdev/ps1/ejb/ejb.html

但是如果你不想進入ORM學習(你真的應該最終)那么只需使用普通的JDBC(有很多關於如何在網上做這個的教程)

NetDeans是JDeveloper的另一種選擇,它也是一個官方的oracle工具,因為它要輕得多。

詢問“Java中是否有一個可以幫助一個簡單數據庫接口的框架”將為您提供大量答案。 最簡單的響應是“查看JDBC”,幾乎所有其他框架都將利用它與數據庫進行通信。

我不確定我會推薦一個同時執行數據庫連接和GUI工作的框架。 讓他們脫鈎。 就像上面的Byter一樣,我發現Swing效果很好。

如果您要詢問的是報告功能,我會一直聽到Jasper報告。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM