Spring Boot - MySQL 연동하기
코딩 자율학습단이 끝나고 더 공부하기 위해 뭐부터 해볼까 하다, 책 마지막 페이지에 있던 외부 DB 와 연동하기를 해보기로 하였다. 기존에는 메모리에 저장되는 h2 database 를 이용하였기에, 휘발성이라는 단점이 있어 프로그램을 실행할 때마다 초기화를 해주어야 했지만 외부 DB 와 연동하면 이제 그럴 필요가 없다. 어떤 DB 를 쓸가 하다가 기존에 써본 경험이
있는 MySQL 로 연동해보기로 하였다. MySQL server 및 MySQL WorkBench 설치 및 기본적인 사용 방법은 더 좋은 글이 많으니 링크를 공유하니 참고하면 좋을 것 같다.
MySQL Server 설치 (For Windows, Community) : 네이버 블로그 (naver.com)
MySQL Workbench 연동 및 사용법(테이블 생성, SQL 문 실행) : 네이버 블로그 (naver.com)
MySQL Server 설치 (For Windows, Community)
이 설명서는 Windows 운영체제에서 동작하는 MySQL Server Community 8.0.11 버전을 설치하는 방법...
blog.naver.com
MySQL Workbench 연동 및 사용법(테이블 생성, SQL 문 실행)
데이터 베이스는 데이터를 저장하는 창고 역할을 합니다. 하지만, cmd 창과 같은 검은색 화면에서 오로지 ...
blog.naver.com
그리고 나 같은 경우는 MySQL server 설치할 때 database initailize 에서 error 가 발생하였는데, 다음 글을 보고 조치하였으니 혹시 몰라 이 또한 링크 남겨두니, 같은 에러가 발생할 때 도움이 되었으면 한다.
MySQL 설치 진행이 되지 않거나 에러 발생 시 해결방법 (Windows) (tistory.com)
MySQL 설치 진행이 되지 않거나 에러 발생 시 해결방법 (Windows)
아래는 Windows 에서 MySQL 설치 시 자주 발생하는 에러에 대한 해결 방법입니다. MySQL 설치 관련 문서는 이전 글 을 참고하시면 됩니다. Initializing database (may take a long time) 단계 에러 아래 화면과 같
codinghalbae.tistory.com
여기 까지 했으면 MySQL 사용을 위한 준비는 끝났다고 볼 수 있다.
이제 IntelliJ 에서 설정을 해주기 위해 가장 먼저 build.gralde 로 들어가준다. 만약 spring initalizer 사이트에서 my sql connector driver 를 미리 설치해두었다면 이 단계는 건너 뛰어도 상관 없다. 들어가서 mysql 을 사용하기 위해 mysql connector 을 의존성에 추가해준다.
이거 추가하면서 h2 는 runtimeonly 로 했는데, implementation 으로 하면 안 되나? 하는 생각에 좀 찾아봤는데 잘 정리해주신 글이 있어서 이것 또한 링크를 공유하니 한 번 읽어보면 좋을 것 같다. 그냥 쓰는 것 보단 이해하고 쓰는 것이 좋지 않겠는가.
Gradle: Implementation과 RuntimeOnly의 차이점 및 활용 방법 — 개발자의 서랍 (tistory.com)
Gradle: Implementation과 RuntimeOnly의 차이점 및 활용 방법
SpringBoot 프로젝트의 build.gradle 파일에서 'implementation'과 'runtimeOnly' 설정의 차이점과 사용법을 알아보자 📌 서론 Gradle의 빌드 스크립트인 build.gradle에서 의존성을 관리할 때 runtimeOnly와 implementation
curiousjinan.tistory.com
그리고 application.properties 가서 mysql 설정을 추가해준다. 그리고 기존에 사용중이던 h2-console을 disabled 해준다.
spring.h2.console.enabled=false
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://{server 주소}:{server port}/{사용할 schema name}?characterEncoding=UTF-8&serverTimezone=UTC
spring.datasource.username={user id}
spring.datasource.password={user password}
server 주소, port 번호, 스키마 이름, id, password 는 각자의 것을 사용하면 된다. 그리고 서버를 실행해보면 study 스키마에 요로코롬 entity 들을 확인할 수 있다. 그런데 member_seq도 추가되었는데 요런 entity 는 없는데 확인한 번 해봐야겠다..
그래서 이렇게 서버를 실행해서 요렇게 article 이나 comment 를 추가하고 mysql 에 들어가서 조회를 해보면 다음과 같이 데이터 베이스들이 정상적으로 추가된 모습을 확인할 수 있었다.
마지막 챕터에서 나온 대로 성공적으로 외부 db 인 mysql 에 저장 하는 것을 성공하였다. backend 라는 분야를 더 공부하기 위해서는 어떻게 좋을지 더 찾아보고 공부해봐야 겠다. 올 한해도 달려오느라 다들 고생 많으셨고, 내년에는 행복한 일만 있으면 좋겠습니다!!