Docker, IntelliJ, MySQL 연동하기(Mac)

이민기·2023년 11월 6일
0
post-thumbnail

1. 도커 설치

https://docs.docker.com/desktop/install/mac-install/

위 사이트에서 도커를 설치합니다.

  • M1 Mac -> Docker Desktop for Mac with Apple silicon
  • Intel -> Docker Desktop for Mac with Intel chip

도커를 설치했다면, 아래의 명령어를 통해 버전이 출력되는지 확인합니다.

docker -v

2. 프로젝트 시작

Intellij를 처음 열고 New Project창을 누릅니다. 그리고, Spring initailizr 창을 클릭하면 다음과 같은 창이 나타납니다.

  • Name: 프로젝트 명
  • Location: 프로젝트 경로
  • Type: 빌드 자동화 도구 -> Gradle로 선택합니다.
  • Language: Java로 진행합니다.

기본적으로 Web을 이용할 것이니, Spring Web과 Spring Web Services를 체크합니다.

그 후 Create를 만들면 프로젝트가 생성됩니다.


3. 도커 환경설정

폴더 하나를 생성하고, 그 내부에 .env파일을 생성합니다. 그 후 내용을 다음과 같이 작성합니다.

# MySQL
MYSQL_DATABASE=원하는 데이터베이스 이름
MYSQL_ROOT_USER=root
MYSQL_ROOT_PASSWORD=12345678
MYSQL_PASSWORD=12345678

docker-compose.yml 파일을 생성후, mysql 연동을 위해 다음과 같이 입력합니다. 위의 .env파일을 통해 기본적인 환경설정이 가능해집니다.

services:
  mysql:
    container_name: mysql
    volumes:
      - mysql:/var/lib/mysql
    image: mysql:latest
    restart: always
    ports:
      - 3306:3306
    env_file:
      - db/.env

volumes:
  mysql:

그 후, Intellij 콘솔의 녹색 버튼을 눌러 컨테이너가 정상적으로 작동하는지 확인합니다.


4. 데이터베이스 연결

데이터베이스 탭에서 +를 눌러 데이터 소스에서 MySQL을 선택합니다.

다음과 같은 창이 나올텐데, .env에서 적었던 Password와 동일한 문자를 입력하고 Test Connection을 눌러 정상적으로 돌아가는지 확인합니다.

Success가 보인다면 Apply를 눌러 Data Source에 추가합니다.

그 후 설정한 DB를 누르면 DB 확인이 가능합니다.

5. application.yml 설정

그 후면 application.properties라는 파일이 있습니다.

그 파일의 확장자를 yml로 바꿔줍니다.

spring:
    datasource:
        driver-class-name: com.mysql.cj.jdbc.Driver
        url: "jdbc:mysql://localhost:3306/gdsctuk?useSSL=false&useLegacyDatetimeCode=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Seoul&characterEncoding=UTF-8&autoReconnect=true&createDatabaseIfNotExist=true"
        username: "root"
        password: "12345678"

위 항목을 넣고,

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
    implementation 'org.springframework.boot:spring-boot-starter-web'
    implementation 'org.springframework.boot:spring-boot-starter-web-services'
    runtimeOnly 'com.mysql:mysql-connector-j'
    testImplementation 'org.springframework.boot:spring-boot-starter-test'
}

와 같이 추가하면 Intellij에 db 연동이 완료됩니다.

profile
Michelangelo

0개의 댓글