2013-08-31 79 views
0

您好我正在嘗試使用SQLite在Java中創建一個地址簿類型程序。現在,它應該做的就是要求用戶輸入聯繫人姓名和電話號碼以添加到表格中。Java和數據庫 - 初始化表

我還沒有開始編碼,但我無法得到我的頭的東西是表創作。假設我寫一個程序

  1. 連接數據庫
  2. 創建一個表
  3. 詢問有關添加聯繫人數據(表)的詳細信息的用戶。

我編譯一次沒有錯誤。但是每次運行程序時都會創建一個新表格。我唯一能想到的就是數據庫和表的創建是在Java程序之外完成的。

+2

該程序可以簡單地1.接到數據庫,2.檢查表是否存在,3.如果它還不存在,則創建它,4.向用戶詢問詳細信息。 –

+0

好吧,我不知道有一個函數來檢查表是否存在。 – jimbo123

回答

0

是的,在java程序之外創建表總是好的。只需在java應用程序中使用這些表。
所以你的設計可能是現在。
1.連接數據庫。
2.向用戶詢問有關添加聯繫人數據(到表格)的詳細信息。

2

在許多企業環境中,您的應用程序的數據庫用戶可能沒有權限執行DDL(CREATE,ALTER等...)語句。因此,在這些情況下,通常會在應用程序之外管理數據庫佈局。

有一些工具可以嘗試簡化這項工作。一個非常複雜的例子是Liquibase

但是,如果要在應用程序內部管理數據庫,最好的做法是定義一個額外的表,並在其中維護數據庫模式版本號。在應用程序啓動時,檢查此架構版本,然後 - 如果適用 - 執行您的DDL語句以創建或更改架構以獲取所需的shema版本。

+0

好的,我沒有意識到這一點。我只是用一個文本編輯器編寫這個java代碼並在終端編譯它。 – jimbo123