在上一節中,我們成功地使用 Docker Compose 架設了 PostgreSQL 和 pgAdmin 容器。現在,讓我們進一步探討如何將這個容器化的 PostgreSQL 資料庫與 Spring Boot 項目整合,以便在開發過程中輕鬆使用這個資料庫。
首先,我們需要確保 Spring Boot 項目能夠連接到 Docker Compose 啟動的 PostgreSQL 資料庫。為此,我們需要配置 Spring Boot 項目的數據源,以便它能夠訪問 PostgreSQL 容器。
打開你的 Spring Boot 項目,通常資料庫的配置位於 application.properties
或 application.yml
文件中。你需要確保以下屬性正確配置:
spring.datasource.url=jdbc:postgresql://localhost:5436/ironman2023
spring.datasource.username=ianliu
spring.datasource.password=ianliu
在上述屬性中,spring.datasource.url
指定了資料庫的連接 URL,其中 localhost
是 Docker 主機,5432
是 PostgreSQL 服務的埠號,mydb
、myuser
和 mypassword
分別是資料庫的名稱、使用者名稱和密碼,這些屬性需要與 Docker Compose 設定文件中的設置相匹配。
如果你的項目中沒有添加 PostgreSQL 驅動的依賴,你需要在專案的構建文件中添加它。如果你使用 Maven,可以在pom.xml
中添加以下依賴:
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
</dependency>
現在,你可以啟動 Spring Boot 專案,它將連接到 Docker Compose 啟動的 PostgreSQL 資料庫。你可以編寫程式碼並使用這個容器化的資料庫進行開發、測試和調試。
@SpringBootTest
class Ironman2023ApplicationTests {
// 匯入資料庫連接參數
@Value("${spring.datasource.url}")
private String jdbcUrl;
@Value("${spring.datasource.username}")
private String db_username;
@Value("${spring.datasource.password}")
private String db_password;
@Test
void databaseConnectionTest() {
// 嘗試連接資料庫
try (Connection connection = DriverManager.getConnection(jdbcUrl, db_username, db_password)) {
// 如果成功連接,輸出成功消息
System.out.println("資料庫連接成功!");
} catch (SQLException e) {
// 如果成功失敗,輸出錯誤消息和異常信息
System.err.println("資料庫連接失敗!");
e.printStackTrace();
}
}
}
回顧如何使用 Docker Compose 在團隊開發環境中建立和管理資料庫的好處。我們已經學到了以下關鍵內容:
強調了 Docker Compose 對於協作和開發的重要性,並提供了一個方便的方法,可以在團隊開發環境中建立和管理資料庫。這有助於確保整個團隊能夠在一致的環境中開發和測試應用程式,提高了協作效率和開發的可重複性。希望這個指南對於使用 Docker Compose 來管理團隊開發環境的流程有所幫助。