반응형
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 환경에서 하고 있기 때문에 시스템 환경설정에서 버전을 확인하였습니다.
저의 경우 [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
반응형
'IT, 개발 > JAVA' 카테고리의 다른 글
JAVA - while / do-while 사용법, 차이점 (0) | 2022.08.17 |
---|---|
log4jdbc 로그 출력하기 (MySQL, Spring Framework, log4j) (0) | 2022.08.02 |
JAVA 시간 차이 계산하기 (Date getTime / SimpleDateFormat) (0) | 2022.07.19 |
Mac OS에서 이클립스 메소드 추적하기(함수 따라가기, 함수 호출되는 곳, 추적/역추적) (0) | 2022.07.18 |
JAVA - 리스트 순서 뒤집기, 오름차순, 내림차순(ArrayList 순서 정렬, 변경) (0) | 2022.07.14 |