작업 환경
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 함수 실행하기