본문 바로가기
쿤즈 Dev/Spring Boot

[Spring Boot] PostgreSQL 접속하기 위한 설정 방법

by :)Koon 2022. 4. 19.

스프링 부트를 이용하여 여러 가지 웹 애플리케이션을 만들거나 공부를 하실 텐데요. 웹 애플리케이션을 만들기 위해서는 반드시 따라오는 부분이 바로 데이터베이스(DB)입니다. 데이터베이스에는 대표적으로 Oracle, Mysql, MariaDB, MS-SQL과 추가적으로 PostgreSQL이 있습니다.

이번 포스팅에서는 PostgreSQL을 접속하기 위한 스프링 부트 설정을 알아볼게요.


스프링 부트 PostgreSQL 설정방법

우선 스프링 부트에서 설정하기 위해서는 아래와 같은 몇 가지 설정을 해야 합니다.

  • pom.xml / build.gradle 라이브러리 추가
  • application.properties / application.yml

우선은 데이터베이스를 연결해야 하기 때문에 접속할 수 있는 라이브러리를 추가해야 하며 접속 정보를 추가하기 위해서 application.properties 혹은 application.yml에 정보를 작성합니다.


pom.xml / build.gradle 라이브러리 추가

데이터베이스 라이브러리를 추가해줍니다. 이 포스팅에서는 PostgreSQL 라이브러리를 추가해 보도록 하겠습니다. Maven을 사용하시는 분들이 있고 Gradle을 사용하시는 분들이 있기 때문에 추가 방법은 아래와 같이 다르게 해 주시면 됩니다.

// pom.xml 추가 내용
<dependency>
    <groupId>org.postgresql</groupId>
    <artifactId>postgresql</artifactId>
    <scope>runtime</scope>
</dependency>

// build.gradle 추가 내용
runtimeOnly 'org.postgresql:postgresql'

두 경우 모드 runtime 시점에 dependency를 사용하도록 라이브러리를 추가해 줍니다.


application.properties / application.yml 정보 추가

라이브러리를 추가해 주었다면 이번에는 접속 정보를 추가해 주도록 하겠습니다.

// application.properties
spring.datasource.url=jdbc:postgresql://localhost:5432/testdb
spring.datasource.username=postgres
spring.datasource.password=password
spring.jpa.hibernate.ddl-auto=create-drop
spring.jpa.show-sql=true
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect
spring.jpa.properties.hibernate.format_sql=true

// application.yml
spring:
  datasource:
    password: password
    url: jdbc:postgresql://localhost:5432/testdb
    username: postgres
  jpa:
    hibernate:
      ddl-auto: create-drop
    properties:
      hibernate:
        dialect: org.hibernate.dialect.PostgreSQLDialect
        format_sql: true
    show-sql: true

properties 파일과 yml 파일은 구분자를 점(.)으로 하는지 아니면 콜론(:)으로 하는지에 따라서 다릅니다. 다만 yml을 요즘 더 선호하는 이유는 값을 구분하기 쉽고 중복된 문자들을 반복해서 작성하지 않아도 된다는 점에서 눈에 더 잘 들어온다는 것입니다.


이번 포스팅에서는 간단하게 PostgreSQL을 사용하기 위해서 설정하는 방법에 대해서 알아보았습니다. 이제 데이터베이스를 사용 가능하니 여러 가지 프로젝트를 해볼 수 있을 것 같네요. 도움이 되셨으면 합니다. 이상입니다.

댓글