대부분 실무라고 하기보다는 대략 40%의 회사가 데이터베이스로 오라클을 사용한다고 한다. 물론 내가 직접 확인한 수치가 아니라, 예전에 해커톤에서 본 멘토 분께서 그렇게 말씀하셨다. 하여튼 mysql도 써보긴 했는데 phpmyadmin때문에 화나서 무작정 오라클로 이동했다. 솔직히 말하면 딱 공부용으로 DB 설계하고 구현하고 작은 프로젝트에 쓸거면 Mysql을 쓰는게 낫고, 어플을 만든다던지 큰 규모의 프로젝트라면 오라클을 쓰는게 나은 것 같다.
하여튼 이번에도 내 나름대로의 방법으로 spring framework에 오라클DB를 연동해보도록 하겠다.
1. Mybatis library추가하기.
좀 더 편하게 sql을 사용하기 위해 mybatis라이브러리를 추가해줬다. mybatis가 무엇인지, 장점이 무엇인지 알고 싶다면 아래 포스트에 들어가서 읽어보자.
2021.04.01 - [3학년/web] - 6. Mybatis란?
<!--mybatis-->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.5</version>
</dependency>
<!--mybatis spring-->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.3.1</version>
</dependency>
2. connection pool library 추가하기
connection pool이란, web application의 필수 요소로 db와 application을 효율적으로 연결해준다. 그 중에 우리가 쓸 Apache의 Commons DBCP는 오픈소스이다. 이를 잘 사용하면 db와 application의 일부분에서 발생하는 문제가 전체로 전파되지 않게 할 수 있고, 일시적인 문제가 긴 시간 이어지지 않게 할 수 있다. web application의 요청은 대부분 DBMS로 연결되기 때문에 커넥션 풀 라이브러리의 설정은 전체 application의 성능과 안정성에 영향을 미친다.
<dependency>
<groupId>commons-dbcp</groupId>
<artifactId>commons-dbcp</artifactId>
<version>1.4</version>
</dependency>
3. jdbc library 추가하기
추가해야하는 jdbc는 두개이다. 하나는 spring jdbc, 하나는 ojdbc이다. ojdbc 추가에서 엄청 애를 먹었는데 그 이유는 maven에서 ojdbc 라이브러리를 지원하지 않기 때문이다. 따라서 repository에 추가할 ojdbc의 경로를 설정해줘야하는데, 다른 블로그들에서 알려주는 링크를 타고 가면 항상 없다. 이렇게 자주 바뀌는 경로를 사용하는 건 좋지 않기 때문에 나는 그냥 원래 local에 가지고 있던 ojdbc를 추가해주었다.
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>${org.springframework-version}</version>
</dependency>
<dependency>
<groupId>oracle.jdbc</groupId>
<artifactId>OracleDriver</artifactId>
<version>12.2.0.1.0</version>
<scope>system</scope>
<systemPath>${basedir}/lib/ojdbc8.jar</systemPath>
</dependency>
참고로 spring jdbc는 property에 아래 코드를 추가해줘야 에러가 안난다.
<java-version>1.8</java-version>
<org.springframework-version>5.0.3.RELEASE</org.springframework-version>
<org.aspectj-version>1.8.10</org.aspectj-version>
<org.slf4j-version>1.7.25</org.slf4j-version>
++++++++
각각의 버전을 되는대로 막 갖다가 쓰면 안된다. 다 호환이 되는 애들이 있으니 만일 에러 중에 java.lang.NoSuchMethodError가 발생하면 버전이 서로 호환이 안된다는 의미이므로 다시한번 확인하자.
(이 글이 도움이 됐다면 광고 한번씩만 클릭 해주시면 감사드립니다, 더 좋은 정보글 작성하도록 노력하겠습니다 :) )
'간단 지식 > web' 카테고리의 다른 글
04. Mybatis란? (2) | 2021.04.01 |
---|---|
03. Intelij에서 Spring framework 사용하기 - maven 기반 (0) | 2021.03.29 |
02. JSP, Spring , Servlet, Servlet container 정리 (0) | 2021.03.28 |
01. HTML 초간단 정리 (0) | 2020.05.05 |