這次要來介紹 Play Framework 如何與資料庫作連結,Play Framework 本身有提供了一個精巧的資料庫 ( H2 Database Engine ),所以就以使用 H2 資料庫來作本篇教學範例,關於 H2 Database Engine 更詳細的資訊可以參考官方網站。
我們要在 Play Framework 使用 H2 Database Engine 非常簡單,可以到 application.conf 裡面找到 Database Configuration,
可以看到 db.default.driver 已經預設為 org.h2.Driver ,
在 db.default.url 這邊的設定可以根據 H2 Database Engine 提供的模組來使用,
H2 Database Engine 可以有 :
1. 內嵌模式 :
資料庫內嵌於你的 Application 中,應用程式啟動時 H2 Database 也跟者啟動,
這也是最簡單也最直接的連接模式,設定方式如下 :
db.default.url="jdbc:h2:file:D:/PlayProject/PlayApp/data/PlayData"
這是直接讀取絕對路徑底下的名稱為 PlayData 資料庫檔案。
2. 記憶體模式 :
記憶體模式如字面上意義,資料會讀取至記憶體。因此比較適合於靜態不需要資料存取
或者是暫時測試、展示的情況下使用,設定方式如下 :
db.default.url="jdbc:h2:mem:PlayData"
3. 伺服器模式 :
伺服器模式與 Application 是分開啟動與操作的,因為伺服器模式也提供其他 Application
連線,所以你若停止 Play Framwork Application 之後你會發現 H2 Database Engine 仍然
會持續提供服務,設定方式如下:
db.default.url="jdbc:h2:tcp://localhost//PlayData"
接下來我們以內嵌模式為範例設定我們的 application.conf 檔案,
當設定好之後,H2 Database Engine 啟動後會自動幫你建立 PlayData.h2.db 檔案,
若想要進入 H2 Console 可以在 Play 的 Console 輸入 h2-browser ,
你可以看到 H2 Console 所在 URL,輸入之後便可以看到登入畫面 ( 此範例並未設定帳號密碼 )
點選 Connect 進入 H2 Database Engine 操作介面,可以看到是蠻常見的操作介面配置方式,
以上只針對 H2 Database Engine 的設定,當然你也可以使用其他的資料庫引擎,
而設定的方式大致相同,針對 H2 連線設定可以參考這裡。
之後會介紹如合使用 Ebean 與如何讓 Play Framework 自動根據 Ebean 幫你建立 Table 。其他 Play Framework 相關教學可以參考本篇整理。
熱門文章
-
Launchd 是設計用來管理系統中的 Process、Application 及 Script,它包含了與 Cron 相同的服務。本文章將要介紹如何透過 Launchd 管理並執行例行性任務於 Mac OS X 上。( 其他 Mac 相關教學可以參考 本篇整理 。If you...
-
之前的文章主要探討的都是一個訊息由一個 Consumer 處理,但若我們需要的是一個訊息同時傳送至所有的 Consumer 的話,我們則需要應用 Publish 與 Subscribe 模式,本篇將討論如何使用這個模式。( 其他 RabbitMQ 相關教學可以參考 本篇整理 )...
-
Jekyll 是一個很方便的網站、部落格產生器,它的功能夠簡潔就是專注在產生一個靜態網站。但也因為這樣,有一些需要動態產生的東西無法透過 Jekyll 直接實現。例如:每當使用者進入頁面,讓網頁產生隨機文章連結。所以,本篇將介紹如何利用 Jekyll 實現隨機文章的功能。( If...
-
Fake S3 是一個由 Ruby 開發並設計成模擬 S3 服務的軟體,所以你可以透過不同的 SDK (例如:boto3) 去測試 S3 的 API。本篇將介紹如何設定及使用 Fake S3 (docker 版本)。( 其他 AWS 相關教學可以參考 本篇整理 。If you ...
-
本篇將介紹當使用 Fish Shell 設定 docker-machine 參數時遇到錯誤: fish: Unknown command 'export' 的解決方法。雖然使用 Fish Shell 的人可能不多,但還是將解決方法記錄下來供參考。( 其他 Doc...



