인프런 커뮤니티 질문&답변

박종성님의 프로필 이미지
박종성

작성한 질문수

윤재성의 만들면서 배우는 Spring MVC 5

Java 설정 방식에서

작성

·

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 객체를 활용하여 데이터베이스 작업을 수행하시면 됩니다.

이상이 도움이 되었으면 좋겠습니다. 감사합니다.

박종성님의 프로필 이미지
박종성

작성한 질문수

질문하기