기존에 h2 데이터베이스를 연결해서 사용하던 프로젝트에서 mysql db로 연동해보는 연습을 해봄.

( 코드 구현하면서 확인은 h2로 로컬에서 하면 되긴하는데 결국 db랑 연결해야한다고 해서...)

 

먼저 build.gradle에서 의존성을 추가해줘야함.

구글에 검색했을 때 인텔리제이에 mysql 연결하는 방법이 여러가지가 나왔는데 다 같은 흐름이었는데 이상하게 오류가 났다.

더보기

오류가 났던 상황

application.properties에서 MySQL 설정하는 부분 중
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
.mysql.cj.jdbc.Driver 이 부분이 빨간줄로 오류가 나는 상황


implementation 'mysql:mysql-connector-java'

-> 왜 인지 모르겠는데 오류가 났음.



implementation 'mysql:mysql-connector-java:8.0.33'

-> mysql 버전을 추가해준 경우 오류는 해결됐었는데 db에 정상적으로 연결이 안됐었음.



 runtimeOnly 'com.mysql:mysql-connector-java'

-> 검색해보니 연동하는 입력 코드가 달라져서 오류가 났다고 함.

 

 

//build.gradle

dependencies {
    
    ...
    runtimeOnly 'com.mysql:mysql-connector-j'
}

그리고 application.properties에 DB 설정 관련 정보를 기입

# MySQL 설정
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

# DB Source URL 설정
# 예시) spring.datasource.url=jdbc:mysql://localhost:3306/test_db?useSSL=false&useUnicode=true&serverTimezone=Asia/Seoul
spring.datasource.url=jdbc:mysql://<IP>:<PORT>/<DB NAME>?useSSL=false&useUnicode=true&serverTimezone=Asia/Seoul


# DB 사용자 이름 설정
# 예시) spring.datasource.username=root
spring.datasource.username=<MySQL ID>

# DB 사용자이름에 대한 암호 설정
# 예시) spring.datasource.password=root
spring.datasource.password=<MySQL PASSWORD>

# true 설정 시, JPA 쿼리문 확인 가능
spring.jpa.show-sql=true

# DDL(create, alter, drop) 정의 시, DB의 고유 기능을 사용할 수 있음.
spring.jpa.hibernate.ddl-auto=update 

# JPA의 구현체인 Hibernate가 동작하면서, 발생한 SQL의 가독성을 높여줌.
spring.jpa.properties.hibernate.format_sql=true

 

인텔리제이 프로젝트 파일 실행 & mysql 서버 실행 후에 포스트맨을 통해서 요청 데이터 입력.

인텔리제이에서도 잘 등록 된 걸 확인했고 mysql 워크밴치를 통해서도 테이블에 데이터들이 제대로 삽입된 걸 확인함.

인텔리제이에서 테이블에 데이터가 등록된 로그 확인

 

 

블로그 참고

https://i5i5.tistory.com/707

 

[SpringBoot] SpringBoot + MySQL + JPA과 연동하기 + 테스트

개요 - SpringBoot에 MySQL을 연동해본다. - SpringBoot에 JPA를 연동해본다. - MySQL과 JPA를 연동 후, 테스트 오브젝트인 Memo 객체를 만들어서, SpringBoot를 실행한다. - (확인포인트) 실행 후에, 정상적으로 설

i5i5.tistory.com

 

+ Recent posts