프로젝트의 JDBC 연결
본격적인 예제를 구성하기 위해서는 반드시 JDBC 연결에 문제가 없는지 확인해야 한다.
우선 JDBC 연결을 하려면 JDBC Driver가 필요하다. 하지만 Oracle 데이터베이스의 JDBC Driver는 11g까지 공식적으로 Maven으로는 지원되지 않기 때문에 직접 jar 파일을 프로젝트에 추가하는 방법이 안전하지만 JDBC 연결이 되는지 확인만 할 것이기 때문에 Maven을 이용할 것이다.
Maven Repository (https://mvnrepository.com/artifact/com.oracle.database.jdbc/ojdbc6/11.2.0.4)에 접속해서 Ojdbc의 Maven 코드를 복사해서 pon.xml 에 내용 추가하기
<!-- https://mvnrepository.com/artifact/com.oracle.database.jdbc/ojdbc6 -->
<dependency>
<groupId>com.oracle.database.jdbc</groupId>
<artifactId>ojdbc6</artifactId>
<version>11.2.0.4</version>
</dependency>
ojdbc가 올바르게 설치 되었다면 Maven Dependencies에 ojdbc의 jar 파일이 추가된 걸 볼 수가 있습니다.
Maven을 이용하지 않고 oracle.com 사이트에서 JDBC Driver를 다운로드 받을 경우 아래 사이트에 접속해서 링크에 있는 ojdbc8.jar를 이용하면 됩니다.
https://www.oracle.com/database/technologies/jdbc-ucp-122-downloads.html
JDBC and UCP Downloads page
Oracle JDBC Driver Implements JDBC 4.2 spec and certified with JDK8, JDK11, JDK17, and JDK19 Oracle JDBC driver except classes for NLS support in Oracle Object and Collection types. (4,527,737 bytes) - (SHA1: 49e96d558adfb8aab0916835850fecabd81eb0f1)
www.oracle.com
JDBC 테스트 코드
JDBC 드라이버가 정상적으로 추가되었고, 데이터베이스의 연결이 가능하다면 이를 눈으로 확인할 수 있게 테스트 코드를 작성해야 합니다. 테스트 코드가 있는 폴더에 org.noel.persistence.JDBCTests 클래스를 추가합니다.
▶ JDBC 테스트 코드
package org.noel.persistence;
import org.junit.Test;
import lombok.extern.log4j.Log4j;
@Log4j
public class JDBCTests {
@Test
public void testConnection()throws Exception {
Class clz = Class.forName("oracle.jdbc.driver.OracleDriver");
log.info(clz);
}
}
테스트 코드는 Java와 JDBC 드라이버만으로 구현해서 먼저 테스트해야 합니다.
일단, 콘솔창을 통해 드라이버 로딩에 문제가 없음을 확인함
그 다음에 데이터베이스 연결이 가능하다면 정상적으로 데이터베이스가 연결된 Connection 객체가 출력됩니다.
package org.noel.persistence;
import java.sql.Connection;
import java.sql.DriverManager;
import org.junit.Test;
import lombok.extern.log4j.Log4j;
@Log4j
public class JDBCTests {
@Test
public void testConnection()throws Exception {
Class clz = Class.forName("oracle.jdbc.driver.OracleDriver");
Connection con = DriverManager.getConnection(
"jdbc:oracle:thin:@localhost:1521:XE",
"book_ex","book_ex");
log.info(con);
con.close();//bad code
}
}
만일 데이터베이스에 어떤 문제가 있거나, JDBC 드라이버에 문제가 있다면 이후의 예제를 작성할 수 없기 때문에 반드시 테스트 코드를 만들어서 확인해야 한다.
'Back-end > Spring Web Project' 카테고리의 다른 글
MyBatis와 스프링 연동(1) - MyBatis 연동 (0) | 2023.11.14 |
---|---|
[Spring Web Project] 스프링과 Oracle Database 연동(3) - 커넥션 풀 설정 (0) | 2023.11.13 |
[Spring Web Project] 스프링과 Oracle Database 연동(1) - Oracle 설치 및 설정 (1) | 2023.11.13 |
[Spring Web Project] 스프링의 특징과 의존성 주입 (0) | 2023.11.13 |
[Spring Web Project] 개발 환경 설정(2) - Lombok (1) | 2023.10.31 |