簡體   English   中英

您是否需要數據庫來存儲 java 桌面應用程序中的數據?

[英]Do you need a database to store data in a java Desktop Application?

我希望在 java 中創建一個 BugTracker,因為這是一個“邊走邊學”的項目,我有幾個問題。

快速解釋器:該應用程序將有一個登錄頁面,然后是一個將文本(錯誤描述)分類為 3 類(新的、進行中的、已修復的)的界面。 我的問題是:

  • 我是否需要應用程序創建的本地數據庫來將“錯誤”存儲到類別中

  • 我是否需要本地數據庫才能讓不同的用戶訪問他們在不同類別中存儲和移動的不同“錯誤”

  • 如果我確實需要本地數據庫,那么 MySQL 和 java 究竟如何協同工作? 我的程序應該能夠通過單擊按鈕來調出數據庫,而無需啟動localhost

如您所知,我正在為我目前的技能選擇大項目以便更快地學習,所以如果您對這個項目有任何其他建議或我應該知道的事情,請告訴我。

  • 是的,我知道那里已經有錯誤跟蹤軟件,我想要我自己的”-

並非絕對需要使用數據庫,但它會使您的工作更加輕松。

但由於它是一個單用戶應用程序,只有你的應用程序才能訪問數據庫,我認為使用嵌入式數據庫,如 H2 https://www.h2database.com/html/main.html是通往 go 的方式。這樣你不需要運行數據庫服務器。

但有一件事您可能沒有想到:在您當前的設計中,您只能擁有一個用戶,因為錯誤數據庫存儲在本地計算機上,因此只能由該計算機上運行的應用程序訪問。

JDBC

您詢問:

MySQL 和 java 究竟如何協同工作

MySQL, like any other relational database ( Postgres , H2 , Microsoft SQL Server, Oracle, etc.), talks to a Java app via the JDBC framework bundled with Java. You need to provide a JDBC driver specific to your particular database.

請參閱 Oracle 免費提供的有關 JDBC 的詳盡教程。另請參閱 Stack Overflow 的同級站點Database Administrators Stack Exchange

我同意建議 H2 數據庫引擎滿足您需求的其他答案 我已經寫了幾個答案,其中的代碼展示了如何使用 H2。

嵌入式模式

您詢問:

我的程序應該能夠在單擊按鈕時啟動數據庫,而無需啟動本地主機。

H2 可以作為應用程序的一部分嵌入到您的應用程序中運行,與您的應用程序共享相同的JVM 或者,您可以選擇在服務器模式下運行 H2 以接受網絡調用。

第一種方法(嵌入式)適合您對單用戶本地應用程序的需求。 請參閱文檔連接到嵌入式(本地)數據庫


提示:最終,一旦您掌握了所有這些,我建議使用數據庫遷移工具(例如FlywayLiquiBase)來管理您的數據庫定義。

伙計,你是想只抓蟲子還是連蟲子都抓? 在我的軟件中我喜歡使用日志服務,在Spring,我使用“Log4j2”。 我沒有實現錯誤表,因為它會增加很多處理,想象一下數據庫中不必要的插入量,還有一件事,你的代碼中會有很多 try...catch,所以要做好准備處理很多 kkk 錯誤。

暫無
暫無

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

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