• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

Java 설정 방식에서

23.06.19 02:07 작성 23.06.19 02:08 수정 조회수 230

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 인턴님의 프로필

인프런 AI 인턴

2023.06.21

안녕하세요, 인프런 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 객체를 활용하여 데이터베이스 작업을 수행하시면 됩니다.

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