[spring boot] maria db 연동 (+도커)

jubogang·2024년 1월 28일

spring boot

목록 보기
1/2

새로 시작하는 프로젝트에서 spring boot와 maria db를 사용하기로 하였다.

나는 이미 mysql을 사용하고 있는 상태여서 깔끔하게 도커로 maria db 컨테이너를 사용하였다.

그래서 이번 글에서 도커로 mariadb 컨테이너 생성, 생성한 컨테이너와 gradle을 설정하여 spring boot와 maria db 연동하는 법을 정리하려고 한다.

도커에서 maria db 설정

  1. maria db 이미지 생성
    도커 엔진을 켜고 터미널에

    docker pull mariadb

    명령어를 입력하여 이미지를 받아온다.

  2. 이미지 확인

    docker images

    위 명령어를 통해 이미지를 확인할 수 있다

  3. 컨테이너 생성 및 실행

    docker run -p 3306:3306 --name [컨테이너 이름] -e MARIADB_ROOT_PASSWORD=[설정하고 싶은 root 비밀번호] -d mariadb

    나는 이미 mysql이 3306포트를 사용하고 있어서 3308:3306로 설정해주었다. (3306이 기본값)
    이렇게 실행하면 도커에서 컨테이너가 생성되고 실행 중인 것을 확인할 수 있다.

    그럼 데이터베이스는 이제 준비가 되었다.

스프링부트에서 데이터베이스 연동

  1. dependencies 설정
    build.gradle 파일에
    dependencies {
    	runtimeOnly 'org.mariadb.jdbc:mariadb-java-client'
    }
    해당 의존성을 추가해주자.
  2. application.yml 파일 작성
    기본적으로 application.properties가 생성되어 있다. 나는 yml로 변경해서 사용하였다.
    spring:
      datasource:
        url: "jdbc:mariadb://localhost/사용할 데이터베이스 이름"
        username: "root"
        password: "설정해준 root 패스워드"
        driver-class-name: org.mariadb.jdbc.Driver
    3306:3306으로 설정하였다면 이대로 하면 되지만 만약 나처럼 포트를 변경하였다면
    localhost:3308/데이터베이스 이렇게 포트를 명시해주어야한다.

이렇게 하면 spring boot 와 mariadb가 연동이 되었다

intellij와 데이터베이스 연동

추가로 intellij ultimate 버전을 사용하는 사람들을 위해 intellij와 데이터베이스를 연결하는 방법이 있다.

나는 학생 계정으로 ultimate를 무료로 사용하고 있다. (졸업하기 싫다)
intellj 오른쪽에 보면

이런 부분이 있는데 표시된 버튼을 클릭하면 데이터베이스를 설정할 수 있는 창이 나온다.


입력하고 Test Connection을 클릭했을 때 사진과 같이 성공하고 OK를 누르면

이렇게 데이터베이스가 연결 되었다! 터미널 아이콘을 누르면 데이터베이스 조작 명령을 통해 데이터베이스 생성, 테이블 생성 등등 sql문을 입력할 수 있다

만약 ultimate를 사용하지 않는다면 도커 터미널을 통해 조작해주면 된다.

profile
끊임없이 배우고 성장하고자 합니다

0개의 댓글