새로 시작하는 프로젝트에서 spring boot와 maria db를 사용하기로 하였다.
나는 이미 mysql을 사용하고 있는 상태여서 깔끔하게 도커로 maria db 컨테이너를 사용하였다.
그래서 이번 글에서 도커로 mariadb 컨테이너 생성, 생성한 컨테이너와 gradle을 설정하여 spring boot와 maria db 연동하는 법을 정리하려고 한다.
maria db 이미지 생성
도커 엔진을 켜고 터미널에
docker pull mariadb
명령어를 입력하여 이미지를 받아온다.
이미지 확인
docker images
위 명령어를 통해 이미지를 확인할 수 있다
컨테이너 생성 및 실행
docker run -p 3306:3306 --name [컨테이너 이름] -e MARIADB_ROOT_PASSWORD=[설정하고 싶은 root 비밀번호] -d mariadb
나는 이미 mysql이 3306포트를 사용하고 있어서 3308:3306로 설정해주었다. (3306이 기본값)
이렇게 실행하면 도커에서 컨테이너가 생성되고 실행 중인 것을 확인할 수 있다.

그럼 데이터베이스는 이제 준비가 되었다.
dependencies {
runtimeOnly 'org.mariadb.jdbc:mariadb-java-client'
} 해당 의존성을 추가해주자.spring:
datasource:
url: "jdbc:mariadb://localhost/사용할 데이터베이스 이름"
username: "root"
password: "설정해준 root 패스워드"
driver-class-name: org.mariadb.jdbc.Driver3306:3306으로 설정하였다면 이대로 하면 되지만 만약 나처럼 포트를 변경하였다면이렇게 하면 spring boot 와 mariadb가 연동이 되었다
추가로 intellij ultimate 버전을 사용하는 사람들을 위해 intellij와 데이터베이스를 연결하는 방법이 있다.
나는 학생 계정으로 ultimate를 무료로 사용하고 있다. (졸업하기 싫다)
intellj 오른쪽에 보면

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


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

이렇게 데이터베이스가 연결 되었다! 터미널 아이콘을 누르면 데이터베이스 조작 명령을 통해 데이터베이스 생성, 테이블 생성 등등 sql문을 입력할 수 있다
만약 ultimate를 사용하지 않는다면 도커 터미널을 통해 조작해주면 된다.