본문 바로가기
IT, 개발/JAVA

Spring / MySQL 연동 에러 (Could not get JDBC Connection)

by 개발자스터디 2022. 8. 1.
반응형

 

 

 

Spring 프로젝트에 MySQL을 연동해서 사용하기 위해 프로젝트를 만들고 실행하였는데 다음과 같은 에러가 발생하였습니다. 


심각: Servlet.service() for servlet [dispatcher] in context with path [] threw exception [Request processing failed;nested exception is org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException: 
### Error querying database.  Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is org.apache.commons.dbcp.SQLNestedException: Cannot create JDBC driver of class 'net.sf.log4jdbc.sql.jdbcapi.DriverSpy' for connect URL 'jdbc:log4jdbc:mysql://127.0.0.1:3306/mac_local'
### The error may exist in file [/Users/mac/java/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/testProject/WEB-INF/classes/test/sqlmap/testProject/mapper/TestMapper.xml]
### The error may involve testMapper.selectTest
### The error occurred while executing a query
### Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is org.apache.commons.dbcp.SQLNestedException: Cannot create JDBC driver of class 'net.sf.log4jdbc.sql.jdbcapi.DriverSpy' for connect URL 'jdbc:log4jdbc:mysql://127.0.0.1:3306/mac_local'] with root cause

java.sql.SQLException: No suitable driver
...
...

 

jdbc 드라이버 설정도 완료했고 

url도 다시 한번 확인해봤는데 오타가 없었습니다.

이것저것 다른 문제가 있는지 반나절을 찾아 헤맸지만 오타도 없고 별다른 문제를 못 찾고 있었는데


결국 찾아낸 저의 해결방법은 mysql 커넥터의 버전 문제였습니다.

 

 

우선 mysql 설치된 버전을 확인해봤습니다.

 

시스템 환경설정에서 mysql 항목에 들어가서 버전을 확인했습니다. 

저는 맥 OS 환경에서 하고 있기 때문에 시스템 환경설정에서 버전을 확인하였습니다.

 

시스템 환경설정

 

mysql

 

 

저의 경우 [8.0.26]으로 확인했습니다.

 

 

다음으로 pom.xml 파일을 확인했습니다. 

pom.xml

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

 

mysql 커넥터에는 5 버전으로 입력했기 때문에 생겼던 오류였습니다.

 

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

 

수정 후 실행해보니 잘 연동되는 것을 확인했습니다. 

 

어찌 보면 사소한 실수였는데 해결하는데 너무 오래 걸렸네요.

모두 빠르게 해결하시길 바랍니다.

 

 

 

728x90
반응형