https://coding-log.tistory.com/252
우여곡절 끝에 서버 구축이 끝났다. (서버 구축하는 법이 궁금하다면 위의 글 참조)
이번에는 Spring boot 프로젝트에 구축한 서버 DB를 연결해 보자.
우선 프로젝트 설정부터 바꿔야 한다. 보통 application.properties 혹은 application.yml 파일에 프로젝트 설정을 적는다.
이에 앞서 우리는 해야 할 것이 있다.
바로 .gitignore 파일에 설정 파일의 이름을 넣는 것이다.
둘 중 본인의 파일을 넣으면 된다.
이렇게 하는 이유는 git에 엔드포인트와 포트번호, 유저이름, 마스터 암호 등 개인정보를 올리면 보안적으로 위험하기 때문이다.
이제 설정 파일을 작성해 보자.
application.yml
spring:
datasource:
url: jdbc:mysql://엔드포인트:포트번호/db스키마이름?serverTimezone=Asia/Seoul&characterEncoding=UTF-8
username: 유저이름
password: 마스터암호
driver-class-name: com.mysql.cj.jdbc.Driver
application.properties
spring.datasource.url=jdbc:mysql://엔드포인트:포트번호/db스키마이름?serverTimezone=Asia/Seoul&characterEncoding=UTF-8
spring.datasource.username=유저이름
spring.datasource.password=마스터암호
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
properties와 yml 파일은 외부 설정파일로 같은 역할을 수행하지만 보다시피 차이가 있다.
yml은 계층구조로 들여 쓰기를 통해 파일을 만들기 때문에 가독성이 좋고, 간결하다는 장점이 있다.
properties는 간단하고 직관적이라 단일 설정이나 간단한 값을 표현하는데 좋다는 장점이 있다.
이제 의존성을 넣어주자.
build.gradle (gradle ver)
dependencies {
runtimeOnly 'com.mysql:mysql-connector-j'
}
pom.xml (maven ver)
<dependencies>
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>버전</version>
<scope>runtime</scope>
</dependency>
</dependencies>
의존성을 넣는 방법도 maven, gradle 두 가지 버전이 있는데,
maven은 xml 기반이라 이해하기가 쉽고, 더 오래 사용되어 왔다는 장점이 있고
gradle은 유연하고 성능이 좋다는 장점이 있다.
설정을 마치고 돌렸을 때 아무런 에러가 나지 않았다면 성공이다.
나는 많은 에러가 났었는데 하나는 url에 오타가 나서 그랬고
https://coding-log.tistory.com/255
다른 이유는 swagger 설정 때문이었다.
https://coding-log.tistory.com/256
+ DB 서버 시간, 한국어 관련 설정을 하고 싶다면 아래의 블로그를 참조하세요! (저도 잘 봤습니다 ㅎㅎ)
https://velog.io/@u-nij/Spring-Boot-AWS-RDS-MySQL-연동하기
'Logs' 카테고리의 다른 글
-
[Error] org.springframework.context.ApplicationContextException: Failed to start bean 'documentationPluginsBootstrapper'; nested exception is java.lang.NullPointerException 에러 해결하는 방법 (with yml, properties)2023.06.30
-
[Error] java.sql.SQLNonTransientConnectionException: Cannot load connection class because of underlying exception: com.mysql.cj.exceptions.WrongArgumentException: Malformed database URL, failed to parse the main URL sections. 에러 해결하는 법2023.06.30
-
[AWS] 프리티어로 RDS DB 서버 구축하기 + MySQL Workbench에서 접속하기2023.06.29
-
[Git] remote: Invalid username or password. fatal: Authentication failed for 'https://github.com/XXX.git/' push 권한 관련 에러 해결하는 방법2023.06.22