Verity's Daily Logs_

[Spring Boot]JDBC+MyBatis 연결하기(1) 본문

Spring Framework

[Spring Boot]JDBC+MyBatis 연결하기(1)

johye0 2020. 10. 14. 08:58
반응형

스프링 부트 프로젝트에 JDBC 연결을 하려면 JDBC Driver가 필요하다. 사용할 데이터베이스는 Oracle이나, Oracle 데이터베이스의 JDBC Driver는 11g까지 공식적으로 Maven 및 Gradle로는 지원되지 않기 때문에, 직접 jar 파일을 프로젝트에 추가시켜주는 방식으로 개발해야 한다.

 

JDBC와 Mybatis는 각각 무엇을 의미하는지 알아보고, SpringBoot 프로젝트에 추가시키는 것까지 진행해 보자.

 

1. JDBC? MyBatis? 

JDBC(Java Database Connectivity) :

자바에서 데이터베이스에 접속할 수 있도록 하는 자바 API이다. JDBC는 데이터베이스에서 자료를 쿼리하거나 업데이트하는 방법을 제공한다.

(출처: dyjung.tistory.com/50)

 

MyBatis :

자바 오브젝트와 SQL문 사이의 자동 Mapping 기능을 지원하는 ORM 프레임워크이다. MyBatis는 SQL을 별도의 파일로 분리해서 관리하게 해 주며, 객체-SQL 사이의 파라미터 Mapping 작업을 자동으로 해주기 때문에 많은 인기를 얻고 있는 기술이다.

(출처: shlee0882.tistory.com/205)

 

2. build.gradle 추가

DBMS과의 연결을 위하여 build.gradle 파일에 아래 Dependency 구문을 추가한다.

dependencies {
  ...생략

  implementation 'org.mybatis.spring.boot:mybatis-spring-boot-starter:2.1.3'
  runtimeOnly 'com.oracle.database.jdbc:ojdbc8'

  ...생략
}

 

3. build.gradle 수정하기

위 코드 그대로 dependency 추가 후 서버를 실행시키면 이런 오류를 확인할 수 있을 것이다. (ojdbc를 사용할 경우에만 발생하는 오류로, 다른 dbms라면 3, 4번은 건너뛰어도 무관하다)

java.io.FileNotFoundException: C:\Users\[사용자이름]\.gradle\caches\modules-2\files-2.1\com.oracle.database.security\oraclepki\19.3.0.0\oracle.osdt\osdt_cert.jar (지정된 경로를 찾을 수 없습니다)

 

Oracle 데이터베이스의 JDBC Driver의 경우 라이선스 문제가 있어서 dependency를 추가한다고 해서 JDBC가 설치되지 않기 때문이다. 오류 해결방법으로는 크게 두가지가 있다.

  1) 내 로컬PC의 C: 경로에 jar파일을 직접 추가 (개인 프로젝트이거나 연습용일 경우 사용)
  2) 프로젝트에 jar파일을 추가하고 Build Path를 설정 

내 프로젝트는 최초 서비스 배포까지 목적으로 하기 때문에, (2) 번의 방법을 이용할 필요가 있다.

방법(1)은 서버 실행 시 파일을 찾을 수 없다는 경로에 일일이 다 넣어주면 될 뿐이기 때문에 귀찮을 뿐이지 큰 어려움은 없으므로 방법 설명은 생략한다. 

 

프로젝트 내 jar 파일을 사용할 수 있도록 build.gradle 파일을 아래처럼 수정한다. 추가 및 삭제 부분은 빨간 박스로 표시.

4. ojdbc8.jar 추가하기

위 build.gradle 수정 사항중 "compile fileTree"는 프로젝트 내에 있는 라이브러리파일을 확인할 수 있도록 경로지정을 해 준 것이다. 지정한 경로에 내가 필요한 jar파일을 추가하도록 한다.

 

 

5. application.properties 수정

DB접속정보를 application.properties 파일에 추가한다. 

#datasource (oracle)
spring.datasource.driver-class-name=oracle.jdbc.driver.OracleDriver
spring.datasource.url=jdbc:oracle:thin:@접속IP:PORT/SID
spring.datasource.username=유저명
spring.datasource.password=패스워드

 

 

6. DB연결 예제 작성하기

6번까지 잘 진행해 왔다면 오류 없이 서버가 시작되는 걸 확인할 수 있다. 다음에 이어서 DB에 접속하고, 쿼리 실행 후 결괏값을 확인하는 것 까지 확인해 보도록 한다.

 

 

 

 

 

 

 

 

 

반응형
Comments