에러
Description:
Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.
Reason: Failed to determine a suitable driver class
start.spring.io에서 dependencies에서 mariaDB를 추가한 후 아무런 설정 없이 springboot 프로젝트를 실행시키면 위와 같은 에러가 발생합니다.
해결 방안
1줄 요약: SpringProject에 DB를 연결해줍니다.
연결부분만 보고 싶으신 분들은 3번부터 봐주세요!
1. DBeaver로 새 데이터베이스 연결하기(DBeaver에 MariaDB 연결)
먼저 DBeaver을 켜줍니다. 이외에 다른 DB 관리 도구를 사용해도 괜찮습니다.
저는 이미 노트북에 설치되어있는 23.1.2버전을 이용했습니다.
새 데이터베이스 연결을 해줍니다.
아래와 같은 창이 나오는데, dependencies에서 MariaDB를 추가했으므로 MariaDB를 선택해줍니다.
Next를 클릭해주면, 연결 설정(Connection Secttings)이 나오게됩니다.
빨간색 네모칸을 채워주면 됩니다. mariaDB를 설치하면서 만들었던 root 계정의 비밀번호를 입력해줍니다.
노란색 박스 안에 있는 Port는 mariaDB의 기본 포트번호가 3306이라는 사실을 확인하시면 됩니다.
2. DBeaver로 데이터베이스 만들기(프로젝트에서 사용하는 데이터베이스)
방금 만든 MariaDB에 마우스 오른쪽 키를 눌러 Create New Database를 통해 트로젝트에서 쓸 데이터베이스를 만들어줍니다.
DB이름을 적어주었습니다.
왼쪽에 생성된 DB를 볼 수 있습니다.
3. SpringProject에 DB 연결하기
다시 spring project로 돌아왔습니다. application.properties에 방금 만든 db를 연결해줄겁니다.
그런데 application.properties는 계속 반복되는 내용을 적어야하는 단점이 있으므로,
application.yml로 이름을 변경한 후 설정해줄겁니다.
단순히 파일 이름을 application.properties에서 application.yml으로 변경해주면 됩니다.
#spring.application.name=tasteyom <- 기존 application.properties에 적혀있던 내용
spring:
application:
name: [application.properties에 적혀있던 이름]
datasource:
url: jdbc:mariadb://localhost:3306/[2번의 이름]
username: [1번의 username]
password: [1번의 password]
driver-class-name: org.mariadb.jdbc.Driver
만약 MariaDB가 아닌 Mysql을 사용한다면, mariadb부분을 mysql로 변경하시면 됩니다.
그리고 1번에서 port번호를 3306이 아닌 다른 번호로 설정했다면 url의 localhost뒤의 포트번호도 변경해주면 됩니다.
1번의 username, password와 2번의 이름 값은 현재 게시글의 1번, 2번을 참고해주세요!
결과
이렇게 설정을 하고 다시 실행을 시키면 잘 동작하게 됩니다.
[application.properties -> application.yml 관련 자료]
https://7942yongdae.tistory.com/128
[application.yml 관련 자료]
'Study > ERROR' 카테고리의 다른 글
[react-native expo] Couldn't find a 'component', 'getComponent' or 'children' prop for the screen 'ChannelCreation'. 에러 해결 (0) | 2023.07.15 |
---|---|
react 에서 quill 적용 시 오류 해결하기 (리액트 버전 18) (1) | 2022.10.23 |