그동안 인강에서나 프로젝트에서나 쭉 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에도 원하는 데이터가 잘 입력이 되었음을 볼 수 있다.
댓글