점프투스프링부트 개선 | DB 연결

Park JeaHyun·2023년 1월 30일

위키독스의 점프 투 스프링 부트 1회독을 완료했다. 오랜만에 다시 스프링 부트를 배워야 했기에 감을 찾는데 집중했던 것 같다. 위키독스의 점프 투 스프링부트는 초보자도 쉽게 따라올 수 있는 수준이여서 많은 도움이 됐다.

하지만 기본적인 내용을 다루기 때문에 개선이 필요한 부분이 있었다.(책의 저자도 개선이 필요한 부분을 따로 알려주시기도 했다) 책을 읽고 따라하는 것에서 끝나지 않고 해당 프로젝트를 더 발전시키는 방향으로 학습을 진행해보고자 한다.

DB(MySQL) 연결

먼저 DB연결을 진행했다. 책의 경우 DB로 PostgreSQL을 사용한다. 하지만 한번도 사용해본 적이 없기에 일단 경험이 있는 MySQL로 바꿔서 진행했다.

책과 마찬가지로 AWS에 MySQL 데이터베이스 인스턴스를 생성한다.

생성이 완료되면 MySQL Workbench로 접속 확인한다. 주소와 비밀번호는 해당 데이터베이스 인스턴스의 연결 탭에서 확인 가능하다.
(반드시 데이터베이스 인스턴스의 네트워킹 탭에서 퍼블릭 모드를 활성화 시켜주어야 함!)

워크벤치로 접속이 완료되면 sbb 데이터베이스를 생성한다. 또한 application-prod.properties의 내용 또한 아래와 같이 설정한다. (운영 환경)

책의 내용과 다른 부분은 dirver-class-name, dialect, database, ddl-auto 부분이다. ddl-auto의 경우 책에서는 none 또는 validate를 사용하라고 나와있다. 운영 환경에서는 이렇게 설정하는 것이 맞으나 처음 테이블을 생성할 때 테이블 생성 및 관계 설정 SQL 문법이 생각나지 않았다ㅎㅎ 처음에만 update로 설정하고 이후에는 none이나 validate로 바꾸도록 하자.

dirver-class-name, dialect 설정은 MySQL에 맞게 설정했다.

# DATABASE
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://<데이터베이스주소>:3306/sbb
spring.datasource.username=dbmasteruser
spring.datasource.password=<암호>

# JPA
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL8Dialect
spring.jpa.database=mysql
spring.jpa.hibernate.ddl-auto=update
spring.jpa.properties.hibernate.format_sql=true
spring.jpa.properties.hibernate.show_sql=true

(... 생략 ...)

이후 jar 파일을 컴파일해서 AWS 서버에 배포해 DB연결을 완료했다.

0개의 댓글