본문 바로가기
Backend, Server/ETC

Spring에서 MYSQL 연동하기

by ggyongi 2022. 2. 15.
반응형

그동안 인강에서나 프로젝트에서나 쭉 H2 데이터베이스만을 사용했었는데

예전에 잠깐 책을 사서 공부했던 MYSQL과도 연동해보고싶은 마음이 들었다. 

막상 시도해보니 엄청 간단하게 연동이 가능해서 여기에 정리해본다.

 

1. build.gradle의 dependency에 설정

dependencies {
    ....
    //기존 H2 데이터베이스
    runtimeOnly 'com.h2database:h2'

    //MYSQL 데이터베이스 라이브러리를 추가
    implementation 'mysql:mysql-connector-java'
}

 

2. application.properties에 연결 DB 정보 추가

#기존 H2 => 주석 처리
#spring.datasource.url=jdbc:h2:tcp://localhost/~/rebook
#spring.datasource.driver-class-name=org.h2.Driver
#spring.datasource.username=sa

#MYSQL 정보 추가
spring.datasource.url=jdbc:mysql://localhost:3306/rebookdb?useSSL=false&useUnicode=true&serverTimezone=Asia/Seoul
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.username=root
spring.datasource.password=1234

spring.jpa.show-sql=true
spring.jpa.properties.hibernate.format_sql=true
spring.jpa.hibernate.ddl-auto=create

* url 설정

spring.datasource.url=jdbc:mysql://[IP]:[PORT]/[DB]?useSSL=false&useUnicode=true&serverTimezone=Asia/Seoul

 

위의 ip, port번호, db이름을 본인 설정에 맞게 제대로 입력해주어야 한다.

이때 db이름은 같은 이름의 db가 mysql에 미리 만들어져있어야 한다.

 

* mysql에서 db만들기

더보기

1. MySQL Workbench에 접속하여 MySQL에 연결한다. 이때 사용한 username과 password를

위의 설정 정보에 적어주면 됨 => spring.datasource.username=root, spring.datasource.password=1234

2. Workbench의 좌측의 SCHEMAS탭에서 우클릭하여 Create Schema를 해주면 된다.

참고로 여기서 스키마는 db와 같은 의미로 사용된다.

 

* 참고: 아래 세 개의 설정은 다음과 같다. jpa를 쓸 때 사용하면 유용하게 쓸 수 있다.

// true 설정 시 jpa 쿼리문를 볼 수 있음
spring.jpa.show-sql=true 

//true 설정 시 jpa 구현체인 hibernate의 쿼리문을 볼 수 있음
spring.jpa.properties.hibernate.format_sql=true

//DDL(create, drop, alter) 고유 기능을 사용할 수 있다.
//create 외에도 다양한 설정 가능
spring.jpa.hibernate.ddl-auto=create

 

이렇게 하면 간단히 연동 끝!!

스프링이 잘 실행됨을 볼 수 있다.

 

db에도 원하는 데이터가 잘 입력이 되었음을 볼 수 있다.

 

 

비전공자 네카라 신입 취업 노하우

시행착오 끝에 얻어낸 취업 노하우가 모두 담긴 전자책!

kmong.com

댓글