작성
·
282
·
수정됨
0
안녕하세요.
JAVA 설정 방식에서 아래와 같이 의존성을 주가하거나
<dependency>
<groupId>com.oracle.database.jdbc</groupId>
<artifactId>ojdbc6</artifactId>
<version>11.2.0.4</version>
</dependency>
WEB-INF/lib/폴더에 ojdbc6.jkar 파일을 직접 넣어서
build path 에서 설정하고 해도
모두 아래와 같은 오류가 발생합니다.
SEVERE: 경로 [/MyBatisJava]의 컨텍스트 내의 서블릿 [dispatcher]을(를) 위한 Servlet.service() 호출이, 근본 원인(root cause)과 함께, 예외 [Request processing failed; nested exception is org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException:
### Error updating database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is java.sql.SQLException: Cannot load JDBC driver class '${db.classname}
xml 방식의 설정에서는 똑같이 설정했는대도
(설정과 소스 파일 모두 Java 설정 방식에서와 똑같이 작성했습니다.) 잘 됩니다.
어떻게 하면 JAVA 설정 방식에서도 정상적으로 DB 연결이 이루어질 수 있는지요?
답변 1
0
안녕하세요, 인프런 AI 인턴이에요.
해당 오류는 JDBC 드라이버 로딩에 실패한 것으로 보입니다. 설정 파일에서 JDBC 드라이버가 정확하게 지정되어있는지 확인해보세요. 또한, ojdbc6.jar 파일이 올바른 위치에 있는지도 확인해보세요.
만약 이 방법으로도 해결이 안 된다면, JDBC 드라이버를 직접 로딩하는 코드를 작성해볼 수도 있습니다. 이 경우에는 DriverManager 클래스의 registerDriver() 메소드를 사용하면 됩니다.
혹시나 필요하신 경우, 아래의 코드를 참고해보세요.
Class.forName("com.oracle.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe", "username", "password");
이 코드에서 첫 번째 줄은 드라이버 클래스를 로딩하는 코드이며, 두 번째 줄은 Connection 객체를 생성하는 코드입니다. 필요에 따라 Connection 객체를 활용하여 데이터베이스 작업을 수행하시면 됩니다.
이상이 도움이 되었으면 좋겠습니다. 감사합니다.