1. 程式人生 > 資料庫 >H2資料庫學習

H2資料庫學習

安裝

  • 官網:

H2資料庫是一個開源的關係型資料庫;

H2是一個採用java語言編寫的嵌入式資料庫引擎,只是一個類庫(即只有一個 jar 檔案),可以直接嵌入到應用專案中,不受平臺的限制

應用場景:

  可以同應用程式打包在一起釋出,可以非常方便地儲存少量結構化資料
  可用於單元測試
  可以用作快取,即當做記憶體資料庫

執行模式
H2有三種執行模式。

  內嵌模式(Embedded Mode):內嵌模式下,應用和資料庫同在一個JVM中,通過JDBC進行連線。可持久化,但同時只能一個客戶端連線。內嵌模式效能會比較好。

  伺服器模式(Server Mode):使用伺服器模式和內嵌模式一樣,只不過它可以跑在另一個程序裡。

  混合模式:第一個應用以內嵌模式啟動它,對於後面的應用來說它是伺服器模式跑著的。混合模式是內嵌模式和伺服器模式的組合。

連線方式
以嵌入式(本地)連線方式連線H2資料庫

  這種連線方式預設情況下只允許有一個客戶端連線到H2資料庫,有客戶端連線到H2資料庫之後,此時資料庫檔案就會被鎖定,那麼其他客戶端就無法再連線了。

    連線語法:jdbc:h2:[file:][<path>]<databaseName>

    例如:

    jdbc:h2:~/test    // 連線位於使用者目錄下的test資料庫
    jdbc:h2:file:/data/sample
    jdbc:h2:file:D:/test/H2/clc  // Windows模式


使用TCP/IP的伺服器模式(遠端連線)方式連線H2資料庫(推薦)

  這種連線方式就和其他資料庫類似了,是基於Service的形式進行連線的,因此允許多個客戶端同時連線到H2資料庫。

    連線語法:jdbc:h2:tcp://<server>[:<port>]/[<path>]<databaseName>

    範例:jdbc:h2:tcp://localhost/~/test

H2資料庫的記憶體模式

  連線語法:jdbc:h2:mem:<databaseName>

  H2資料庫被稱為記憶體資料庫,因為它支援在記憶體中建立資料庫和表。


注意:如果使用H2資料庫的記憶體模式,那麼我們建立的資料庫和表都只是儲存在記憶體中,一旦伺服器重啟,那麼記憶體中的資料庫和表就不存在了。