[IntelliJ] 인텔리제이에서 MySQL DB 연결하기 - 로컬DB(생성, 연결)

윤현일·2025년 1월 16일
post-thumbnail

오늘은 개발하면서 아주 아주 기본적이지만! 오랜만에 하면 까먹어서 구글링하게 만드는 프로젝트와 데이터베이스 연결 하는 방법을 써보겠다.

1. DB 생성하기

일단 데이터베이스 만들어야겠지? 본인은 MySQL workbench 기준으로 하겠다.
설치 과정은 생략한다.

저기서 + 부분을 눌러주면,
  • Connection Name : "본인이 원하는 커넥션 이름"
  • Hostname : "ip, local 이기 때문에 127.0.0.1"
  • Port : "포트, 3306이 디폴트"
  • Username : "말그대로 사용자 이름, root가 디폴트"
  • Password : "비밀번호"

유저 네임과 비밀번호는 본인이 원하면 설정을 하면 된다. 까먹지 말고 이따가 인텔리제이에서 써먹어야한다. 비밀번호는 Store in keychain을 누르면 설정할 수 있다.

이게 끝나면 Test Connection을 누르면, 성공했다고 뜨면 성공이다!
이제 Ok를 누르면 홈화면에 내가 만든 커넥션이 나오고, 들어가보면

이렇게 나오면 성공이다!

중요한점이, 여기서 한번은 DB를 만들어줘야한다!

무슨 말이냐면, 커넥션과 DB는 전혀 다른거다!

Connection vs Database

사람들이 흔히 MySQL을 데이터베이스라고 취급하고, 실제로도 혼용하여 많이 사용한다.
하지만 MySQL은 데이터베이스 관리 시스템(DBMS)이지, DB 자체가 아니다.
클라이언트가 MySQL 서버에 쿼리를 보내고, 서버가 이를 처리해 결과를 반환하는 과정은 모두 Connection을 통해 이루어진다.
Connection은 단순히 통신 경로일 뿐, 데이터베이스 자체를 생성하거나 저장하는 역할을 하지 않는다.
그러므로 CREATE DATABASE를 하지 않으면 커넥션만 있고 존재하지 않는 DB를 사용하는 격이다.

위의 사진을 예시로, 커넥션 명은 Buzz이지만, DB이름은 Buzzlightyear 이다!

2. DB 연결하기

이제 만든 DB를 인텔리제이 프로젝트에 연결시켜보자. SpringBoot 프로젝트 생성시 start.spring.io
에서 Hibernate 와 JDBC 관련 라이브러리도 끌어왔기에 매우 편리하다!

이제 application.yml 파일을 생성해줘야한다.

spring:
  application:
    name: lightyear
  datasource:
    url: jdbc:mysql://localhost:3306/Buzzlightyear
    username: root
    password: ${DB_PASSWORD}
    driver-class-name: com.mysql.cj.jdbc.Driver
  jpa:
    hibernate:
      ddl-auto: update
    show-sql: true
    properties:
      hibernate:
        format_sql: true 

application.yml 코드

datasource:

  • url : DB만들때 설정한 url, 예시의 경우 localhost.
    포트 번호와 DB명을 뒤에 적어줌.
  • username : DB만들때 설정한 사용자명, 예시의 경우 root
  • password : DB만들때 설정한 비밀번호! 아까 비번이 여기서 쓰이는거다!
  • driver-class-name : JDBC 드라이버 클래스명

jpa.hibernate:

  • ddl-auto : 스키마 처리 방식
    주로 create(없애고 다시 생성함), update(있던 스키마에 적용) 두개를 자주씀.

jpa.show-sql:

  • Hibernate가 실행한 SQL 쿼리를 콘솔에 출력.

jpa.properties:

  • 출력된 SQL 쿼리를 읽기 쉽게 정렬.

3. 비밀번호 환경변수 설정

현재의 포스트처럼 localDB 이고, 남들과 협업하지 않아서 깃허브에 올리지 않는다면 굳이 환경변수 설정을 안해줘도 된다. yml 파일에 그냥 내 DB 비밀번호를 쳐도 문제가 없다는 뜻이다.
하지만, 협업시에는 저대로 깃허브에 올리는건 말도 안되는 소리다.

그러므로 application.yml 파일을 .gitignore에 넣거나, 환경변수로 빼줘야한다.

${환경변수}

환경 변수 설정은 일단 내가 숨기고 싶은 변수를 ${}를 사용하여 감싸준다.

사진의 경우 DB_PASSWORD를 감싸줬고,

여기를 누르면

위와 같은 화면이 나오는데, Modify options 를 누르면

옵션이 주르륵 나오는데, Environment variables를 누르면 위와 같은 화면이 나오는데, 여기다가 변수=원하는값; 이렇게 넣어주면 된다.

이제 실행을 시키고 workbench 에서 스키마를 눌러보면, 내가 넣은 엔티티들이 잘 들어가있을거다.

4. Datasource 추가하기

만약 application.yml 파일까지 잘 추가했는데, DB에 반영이 안되거나 오류가 뜬다면 Datasource를 아예 넣어주자.
사실 여기까지 하고 개발을 시작하면, 인텔리제이에서도 스키마를 확인할 수 있기 때문에 편리하다.

여기를 눌러보자. 혹은 화면 우측의 DB모양을 눌러서 추가해도 좋다. 전에 workbench에서 넣어줬던 값을 그대로 넣어주고, 비밀번호까지 알맞게 써주면 Test Connection 이 성공할거다. 이런 방식으로 인텔리제이에서 바로 DB를 확인할 수 있다!

다음 포스트는 RDS 연결을 올리겠다.

profile
라이틔얼

0개의 댓글