iT邦幫忙

2023 iThome 鐵人賽

DAY 6
0
Mobile Development

Spring Boot & Android Studio教學系列 第 6

在Spring Boot中去連結PostgreSQL資料庫

  • 分享至 

  • xImage
  •  

連接資料庫

PostgreSQL載點:
https://www.enterprisedb.com/downloads/postgres-postgresql-downloads

PostgreSQL Driver

用於連接 Java 應用程序和 PostgreSQL 數據庫之間的橋樑。

依賴

<dependency>
    <groupId>org.postgresql</groupId>
    <artifactId>postgresql</artifactId>
    <scope>runtime</scope>
</dependency>

配置檔案

有兩種寫法主要的差別在於語法和結構

application.properties

# PostgreSQL
spring.datasource.url=jdbc:postgresql://localhost:5432/{資料庫名稱}
spring.datasource.username={帳號}
spring.datasource.password={密碼}
spring.datasource.driver-class-name=org.postgresql.Driver

# JPA
spring.jpa.database-platform=org.hibernate.dialect.PostgreSQLDialect
spring.jpa.show-sql=true
spring.jpa.hibernate.ddl-auto=create-drop

application.yml

spring:
  datasource:
    url: jdbc:postgresql://localhost:5432/{資料庫名稱}
    username: {帳號}
    password: {密碼}
    driver-class-name: org.postgresql.Driver

  jpa:
    database-platform: org.hibernate.dialect.PostgreSQLDialect
    show-sql: true
    hibernate:
      ddl-auto: create-drop

spring.jpa.hibernate.ddl-auto

create:啟動應用程序時,Hibernate將根據實體類定義自動創建數據庫表。如果表已經存在,它會先刪除現有表再重新創建。

create-drop:啟動應用程序時,Hibernate將根據實體類定義自動創建數據庫表,但當應用程序關閉時,它會刪除數據庫表結構。這在測試和開發環境中很有用。

update:啟動應用程序時,Hibernate會根據實體類定義自動更新數據庫表的Schema,包括添加新的字段,但不會刪除或修改現有表的數據。這通常在測試和開發期間使用。

validate:啟動應用程序時,Hibernate將驗證實體類定義與數據庫表之間的Schema是否匹配。如果不匹配,應用程序將拋出異常並停止啟動。這是在生產環境中最安全的選擇,以確保Schema的一致性。

none:啟動應用程序時,Hibernate不會自動處理Schema。這意味著您需要自己管理數據庫表的創建和更新,通常在生產環境中使用。

連接

右上角有個資料庫的圖示,按下新增PostgreSQL

設定

User與Password為一開始下載PostgreSQL時所設定的
Database一開始都先連預設的等連接到後再新增更換

點擊 Test Connection 測試連線
成功會出現以下訊息

最終按下Apply就完成連接了!
這時你會看見有一個postgres的預設資料庫

但假如我不想用預設的資料庫,那我們可以自己創建一個
New一個新的Database



創建完歸創建完不要忘記到配置檔連接到此資料庫

spring:
  datasource:
    url: jdbc:postgresql://localhost:5432/imac
    username: {帳號}
    password: {密碼}
    driver-class-name: org.postgresql.Driver

上一篇
Spring Data JPA
下一篇
自動化繁瑣工作:使用Lombok簡化Java代碼
系列文
Spring Boot & Android Studio教學30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言