본문 바로가기
Programming/SpringFramework

[Spring] 스프링과 오라클 DB 연동 작업 / JDBC / ojdbc8.jar

by prinha 2020. 8. 4.
반응형
반응형

 

 

 오라클 JDBC Driver 11g까지는 공식적으로 Maven 에서 지원하지 않으므로 수동으로 jar 파일을 추가시켜야 한다. 

(ojdbc8.jar 경로 -> sqldeveloper-jdbc-lib)

 

 

1. 프로젝트 우클릭하여 -> Properties > Java Build Path 에서 Libraries > add External JARS...

 

 

2. 프로젝트 우클릭 > Properties >  Deployment Assembly 

 

 

3. JDBC 테스트 

package org.ex00.persistence;

import java.sql.Connection;
import java.sql.DriverManager;

import org.junit.Assert;
//
//import org.junit.Ignore;
import org.junit.Test;
//import org.slf4j.Logger;
//import org.slf4j.LoggerFactory;

import lombok.extern.log4j.Log4j;

@Log4j
public class JDBCTests {
	
	// lombok 사용안하고 log작업을 할 경우
	// private static final Logger logger = LoggerFactory.getLogger(JDBCTests.class);

	static {
		try {
			Class.forName("oracle.jdbc.driver.OracleDriver");
		}catch(Exception e) {
			e.printStackTrace();
		}
	}
	
	//@Ignore
	@Test
	public void testConnection() {
		
		String url="jdbc:oracle:thin:@localhost:1521:orcl";
		String user="ora_user";
		String password="1234";
		
		// try(AutoCloseable 인터페이스를 구현한 객체만 사용해서 자동으로 close() 메소드를 호출되게하는 기능 제공)
		try(Connection con=DriverManager.getConnection(url, user, password)){
			
			log.info(con);
			//logger.innfo(con.toString());
		}catch(Exception e) {
			Assert.fail(e.getMessage());
		}
	}
}
<!--pom.xml-->

<org.springframework-version>5.1.5.RELEASE</org.springframework-version>
<dependency>
	<groupId>org.springframework</groupId>
	<artifactId>spring-jdbc</artifactId>
	<version>${org.springframework-version}</version>
</dependency>
<!-- root-context.xml -->

<!-- 실제 클래스들에게 정보 제공 -->
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
	<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" />
	<property name="url" value="jdbc:oracle:thin:@localhost:1521:orcl" />
	<property name="username" value="ora_user"/>
	<property name="password" value="1234"/>
</bean>
    
<!-- 
	스프링시스템이 시작하면서, com.demo.sample 패키지에 Bean으로 생성할 클래스를 검색한 후에 생성
	조건 : 해당 클래스에 bean으로 생성할 어노테이션이 있어야함
	★ baen으로 생성할 클래스에 사용하는 어노테이션의 종류
	@Component @Controller @Service @ Repository 등등 
-->
	
<context:component-scan base-package="org.ex00.sample"></context:component-scan>

 


개발 작업이 완료 된 후 배포시 war 파일로 만들어 질 때,

jar 파일이 포함 될수 있도록 "Web Deployment Assembly" 항목에도 jar 파일을 추가한다.

 

참고로 테스트 할때는 정상적으로 동작하고, 톰캣에서 JDBC 드라이버에 문제가 생겼다고 나오면

"Web Deployment Assembly" 여기를 확인해 봐야 한다.

 

"oracle jdbc driver" 로 검색하면 아래 링크를 참고할수 가 있다.

https://www.oracle.com/database/technologies/jdbcdriver-ucp-downloads.html

 


 

또 다른 방법 

1. maven(라이브러리)에서 ojdbc 관리하는 법 (오라클 드라이버 메이븐 설정)

<!-- pom.xml에 추가 -->

<repositories>
 <repository> 
 <id>oracle</id> 
 <name>ORACLE JDBC Repository</name>
 <url>http://maven.jahia.org/maven2</url> 
 </repository>
</repositories> 

<dependencies> 
 <dependency> 
 <groupId>com.oracle</groupId>
 <artifactId>ojdbc7</artifactId> 
 <version>12.1.0.2</version> 
 </dependency>
</dependencies>

 

 

 

반응형