Study/SpringBoot

[Springboot / MariaDB] MariaDB와 SpringBoot 연동 시 Cannot load driver class: com.mariadb.jdbc.Driver 에러 해결법

growingtree 2022. 1. 21. 16:57

 

 

작업 환경

Windows 10

Intellij IDEA 2021.12

Java 8 

MariaDB 10.6 

sdk 1.8.0 

maven

 

 

 

 

스프링부트 실행 후 mariaDB와 연동하는 작업 중 에러 발생

Cannot load driver class: com.mariadb.jdbc.Driver

이 문제를 해결하기 위해 꼬박 이틀을 썼는데, 똑똑하신 분의 도움으로 단 10분만에 해결이 가능했다. 부들.. 

이틀의 고뇌의 시간... 

 

 

 

구글링해보면 대략 두 가지의 해결방법이 나온다.

1. java의 버전과 jdbc의 버전이 달라 생기는 문제로 버전을 맞춰준다.

2. maven repository에서 해당 버전 찾아서 다운받아서 dependency에 추가한다. 

 

 

하지만 두 가지 방법 모두 먹히지 않았음

그렇다면, 마지막 이 방법을 써보자!

 

1. 일단 인텔리제이의 DataBase 에서 mariaDB랑 연결해보기

이는 DB 자체의 문제인건지 확인하기 위함임. 만약 DB의 문제가 없는게 확실하면 넘어가도됨.

 

1)인텔리제이의 오른쪽 탭에서 Database -> +버튼 클릭 -> Data Source -> MariaDB 클릭 

 

2) 아래와 같은 창이 뜨면 User, Password, Database 칸 입력

Host와 Port 번호를 따로 정했으면 해당 부분도 수정해주기.

Database는 사용할 DB 이름을 쓰면 된다. 

 

 

3) 연결이 제대로 되었는지 확인해보기

연결이 정상이면 데이터베이스에 연결된 것을 확인할 수 있다. 테이블이랑 칼럼도 확인 가능 

 

4) 콘솔창에서 간단한 쿼리문 날리기 

데이터베이스가 연결이 되면 왼쪽에 mariaDB console창이 뜬다.

쿼리문을 치고 왼쪽 run 버튼(or ctrl+Enter)  

결과가 제대로 나오는 것을 보니 DB의 문제는 아니고 springboot와 DB의 연결 문제임이 확실해짐

 

 

2. MariaDB Driver 말고 Mysql Driver로 변경해보기

 

1) application.properties 수정 

문제가 되고있는 org.mariadb.jdbc.Driver 를 com.mysql.cj.jdbc.Driver 로 수정 

spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

mysql.cj.jdbc.Driver가 빨간색인건 아직 dependency에 mysql을 추가하지 않았기 때문! 추가하면 자연스럽게 사라진다. 

 

 

2) pom.xml 에 dependecy 추가하기 

mysql에 해당하는 dependecy 추가하기 

★mysql dependency 추가 후 꼭 변경사항을 로드해줘야한다.★

그러면 빨간 부분(에러)이 사라지고 제대로 적용이 된다.

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
</dependency>

 

 

3) main 함수 실행하기 

 

완벽해!!!!!!!!!!!!!!!!!♥

반응형