簡體   English   中英

每次啟動應用程序時如何制作一個新的數據庫

[英]How to make a fresh database every time the application is started

我正在制作一個swing應用程序,其中用戶輸入一個文件(.html),該應用程序解析文件中的數據並解釋為數據庫。 然后,在數據庫上運行了一堆查詢。 這個問題告訴我需要在數據庫上運行哪種查詢。

以下是

我的問題如下-

  1. 如何將一個空數據庫嵌入到我的項目中,該數據庫在用戶每次退出應用程序時都會清空? 基本上,我不希望用戶必須單獨安裝數據庫或設置連接和設置。

  2. 不將html文件解析為數據庫,而是將其轉換為其他數據結構,是一個更好的主意嗎?

  3. 由於對數據庫的查詢結果應該只是數字(我實際上不需要輸入人名或Ticket#),因此我認為無需太多精力就可以進入數據庫部分。 因此,基本上我想創建一個單獨的模塊(可以這么說),-從應用程序中獲取文件-將html解析到數據庫(或其他數據結構)中-在運行適當的查詢后提取數字-將這些數字提供給應用程序。 這可行嗎?

問題1

您的應用程序中可能會有類似以下類的內容。 只需覆蓋startup ()方法並在此處執行干凈的邏輯即可。

public class YourSwingApp extends SingleFrameApplication {
/**
 * At startup clean the DB.
 */
@Override
protected void startup() {
    show(new YourSwingApp(this));
    // issue a set of 'truncate table' or 'delete from table' query here
    // you may want to create a Singleton to centralize the DB operation
}
}

問題2

如果您在用戶每次退出應用程序時都丟棄數據,則可能根本不需要持久層。 只要將數據模型保存在內存中就可以了。 如果您想要的東西比數據庫輕,但是持久,則可能需要使用Object Serialization

問題3

術語“模塊”使我想到OSGI,這在這里可能是一個過大的殺傷力。 只需將項目分隔為一個lib,然后創建一個要實現的接口即可。 這樣,您的GUI可以使用該界面來獲取結果。

暫無
暫無

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

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