Kim VamPa

[Spring][03-01]JDBC 연결 테스트 (Oracle DB 연결) 본문

공부/스프링

[Spring][03-01]JDBC 연결 테스트 (Oracle DB 연결)

Kim VamPa 2020. 4. 9. 13:00
728x90
반응형

개인 공부 후 자료를 남기기 위한 목적이기에 내용 상에 오류가 있을 수 있습니다.

git주소 : https://github.com/sjinjin7/blog_study


목표

  • 위의 포스팅을 통해 JDBC란 자바에서 제공하는 라이브러리이고, 데이터베이스와 자바 애플리케이션을 연결시켜주는 역할이란 것을 알 수 있었습니다. JDBC와 데이터베이스를 연결하기 위해 각 데이터베이스 회사(Oracle, MySQL 등)에서 제공하는 JDBC Driver가 반드시 설치되어야 합니다.
  • 이번 포스팅에선 Oracle 데이터베이스와 JDBC를 연결하기 위해 Oracle JDBC Driver를 설치하고 JDBC와 데이터베이스가 잘 연결되었는지에 대해 직접 테스트를 해보겠습니다.(다음 포스팅에서 MySQL DB의  JDBC Driver를 직접 설치해보겠습니다.)

 

* Oracle 18c XE / JDK1.8 환경 하에 진행됩니다.

 

*이번 포스팅에선 Oracle 데이터베이스(+SQL Developer)가 설치 / 사용자 생성 두 개를 이행하였다는 가정하에 진행하겠습니다. 만약 두개를 진행하지 않으셨다면 다음의 링크들을 참고해주세요.

1. 오라클 11g 버전 설치 방법  또는 오라클 18c xe버전 설치 방법

2. 오라클 데이터베이스 사용자 생성 방법

3. SQL Developer 설치 방법 & 데이터베이스 접속 방법

 

목차

1. Oracle JDBC Driver 설치

     1-1 Build Path를 통해 직접 라이브러리 추가
     1-2 Maven을 통해 라이브러리 추가

2. JDBC 테스트 

 

1. Oracle JDBC Driver 설치

 Oracle 사에서 제공하는 JDBC Driver 이름은 OJDBC입니다. OJDBC에는 ojdbc6, ojdbc7, ojdbc8과 같이 버전이 존재합니다. 버전 간의 차이는 JDK버전에 따른 환성의 차이입니다. 이번 포스팅은 JDK1.8 환경 하에 진행되기 때문에 ojdbc8.jar를 사용합니다.  

 Oracle JDBC Driver는 11g까지 공식 적으로 Maven을 지원하지 않는다고 저는 배웠습니다. 하지만 혹시나 하는 마음에 Maven repository 사이트에서 검색을 하다 보니 ojdbc8을 발견하게 되어 테스트를 해보았고 jdbc가 정상적으로 진행된 것을 확인하였습니다. 하지만 혹여나 Maven ojdbc가 오류가 날 수도 있기 때문에 라이브러리를 직접 추가하여서 사용하는 방법에 대해서도 알아 보겠습니다.

 먼저 직접 라이브러리 추가(Oracle Developer 설치가 된 경우 / Oracle 홈페이지에서 직접 다운로드하는 경우)와 Maven을 통한 추가 순으로 직접 실습하겠습니다. (3가지 방법 중 한 가지 방법만 선택하시면 됩니다.)

 

1-1 Build Path를 통해 직접 라이브러리 추가

○ Oracle Developer 설치된 경우 

1. 먼저 SQL Developer를 다운을 받고 압축을 푼 폴더에 들어가 보시면 'jdbc'폴더가 있습니다. 해당 파일 제일 안쪽에 ojdbc8.jcar가 존재하는지 확인합니다.
- 경로 (sqldeveloper-19.4.0.354.1759-no-jre  =>  sqldeveloper  =>  jdbc  => lib)

 

그림 1-1

 

2. 스프링에 들어가서 Package Explorer 창에 자신이 적용시킬 프로젝트를 선택 후 오른쪽 마우스 클릭합니다. 목록 중 [properties]를 클릭합니다. 

 

그림 1-2

 

3. 좌측 목록 중 [Java Build Path]를 클릭합니다.

그림 1-3

 

3. 상단에 [Libraries]을 선택 후 우측에 [Add External Jars] 버튼을 클릭합니다. 

그림 1-4

 

4. ojdbc8이 있었던 경로를 찾아서 ojdbc8.jar을 선택 후 [열기] 버튼을 클릭합니다. 

그림 1-5

 

5. 하단 [Apply]을 클릭합니다. 

- 이로서 ojdbc8.jar 라이브러리가 해당 프로젝트에 추가되었습니다. 

그림 1-6

 

6. 설정창을 바로 닫지 마시고 [Deployment Assembly]를 클릭해줍니다.
- war 파일로 만들어질 대에도 jar 파일이 포함될 수 있도록 하기 위한 설정입니다. 

그림 1-7

 

7. 우측 [Add] 버튼을 클릭해줍니다. 

그림 1-8

 

8. Java Build Path를 클릭합니다. 

그림 1-9

 

9. 앞서 추가했던 ojdbc8 라이브러리가 뜹니다. 해당 라이브러리(. jar) 파일을 선택 후 하단 [Finish] 버튼을 클릭합니다. 

그림 1-10

 

10. 하단 [Apply] 버튼을 누르고 [Apply and Close]를 클릭하면 설정이 완료가 됩니다.

그림 1-11

 

11. 추가가 정상적으로 진행되었는지 확인하기 위해, 적용한 프로젝트를 열어보시면 Referenced Library 목록이 생기신 것을 보실 수 있습니다. 해당 목록을 클릭하시면 앞서 추가한 라이브러리가 있는 것을 보실 수 있습니다. 

그림 1-12

 

○ 홈페이지에서 직접 라이브러리 다운(Oracle Developer 설치 안 된 경우)

앞의 설명에서 ojdbc8을 직접 홈페이지에서 다운을 받아서 사용하는 방법입니다. 다운로드 이후에는 2~11까지 순서는 동일합니다. 다음의 링크에서 ojdbc 파일을 다운로드하시면 됩니다. (https://www.oracle.com/database/technologies/appdev/jdbc-downloads.html)

해당 페이지에서 자신의 오라클 데이터베이스 버전에 맞는 것을 선택하여 다운로드하시면 됩니다. 

그림 1-13

 

1-2 Maven을 통한 라이브러리 추가

1. Maven repository 사이트에서 "ojdbc8"을 검색하시면 pom.xml 에 적용시킬 수 있는 코드를 찾으 실수 있습니다. 코드는 다음과 같습니다. 

- https://mvnrepository.com/artifact/com.oracle.ojdbc/ojdbc8/19.3.0.0

		<dependency>
		    <groupId>com.oracle.ojdbc</groupId>
		    <artifactId>ojdbc8</artifactId>
		    <version>19.3.0.0</version>
		</dependency>

위의 코드를 pom.xml에 추가해주시면 됩니다. 

그림 1-14

2. JDBC 테스트

 앞서 JDBC Driver를 추가하는 방법에 대해 알아보았습니다. 이번엔 드라이버 추가 이후 JDBC와 데이터베이스가 잘 연결되었는지 확인하기 위한 테스트를 직접 해보겠습니다. 

 

1. 먼저 테스트를 위해 존재하는 src/test/ java 경로에 com.vam.persistence를 생성하시고 JDBCTest.java 클래스를 생성합니다.

*com.vam.persistence에서 자신에게 맞게 이름을 설정하시면 됩니다.

*클래스를 새로운 이름의 패키지에 굳이 만든 이유는 클래스의 테스트 목적에 맞게 분류하기위해 따로 만들었습니다. 따라서 한 패키지안에 클래스를 생성해도 전혀 문제없습니다.

그림 2-1

2. 해당 클래스에 다음의 코드를 추가한 후 저장합니다.

	static {
		try {
			Class.forName("oracle.jdbc.driver.OracleDriver");
		} catch(Exception e) {
			e.printStackTrace();
		}
	}
	
	@Test
	public void testConnection() {
		
		try(Connection con = 
				DriverManager.getConnection(
                // Oracle19 버전인 경우 => "jdbc:oracle:thin:@localhost:1521:orcl"
                // Oracle11 버전인 경우 => "jdbc:oracle:thin:@localhost:1521:XE"
						"Oracle Database url",
						"자신의 사용자명",
						"사용자 비밀 번호")){
			System.out.println(con);
		} catch (Exception e) {
			fail(e.getMessage());
		}
		
	}

그림2-2

 

3. 추가한 클래스를 junit 테스를 해봅니다.

그림 2-3

4. 그림 2-4와 같이 초록색 표시와 콘솔 창에 에러 표시가 없으면 JDBC연결이 정상적으로 되었다는 뜻입니다. 

그림 2-4

 

Reference

 

Date

  • 2020.04.09 작성

 

 

 

 

728x90
반응형
Comments