1. 오라클 설치
▷ 위의 주소에서 오라클 11g XE를 이용
▷ 설치 도중 System, SYS 계정의 패스워드 지정 필요
▶ PW : password로 지정
2. SQL Developer 설치
▷ SQL Developer 다운로드 경로 : https://www.oracle.com/tools/downloads/sqldev-downloads.html
▷ 별도의 설치 없이 압축파일을 해제하고 실행하면 됩니다.
◎ 오라클 접속 및 왼쪽 상단 + 버튼 선택해서 사용자 추가
◎ 예제에 사용하는 계정 생성
select dbms_xdb.gethttpport() from dual; exec dbms_xdb.sethttpport(9090); /* 사용자 계정 생성 */ create user book_ex identified by book_ex default tablespace users temporary tablespace temp; grant connect, DBA to book_ex;
포트 변경 및 새로운 사용자를 생성하는 코드입니다.
◎ pom.xml에 오라클 관련 라이브러리 추가
<dependency> <groupId>com.oracle.ojdbc</groupId> <artifactId>ojdbc8</artifactId> <version>19.3.0.0</version> </dependency>
◎ 커넥션 풀 설정
▷ 여러 명의 사용자를 동시에 처리해야 하는 웹 애플리케이션의 경우 데이터베이스 연결을 이용할 때는 커넥션 풀 설정(Conneciton Pool)을 이용하므로 스프링에 커넥션 풀을 등록해서 사용하는 것이 좋음
▷ Java에서는 DataSource라는 인터페이스를 통해 커넥션 풀을 사용
▷ DataSource를 통해 매번 데이터베이스와 연결하는 방식이 아니라 미리 연결을 맺어주고 반환하는 구조 사용
▷ 커넥션 풀은 여러 종류가 있고 spring-jdbc 라이브러리를 사용해도 되지만 HikariCP를 사용
▷ 스프링 부트 2.0에서도 사용될 만큼 빠르게 퍼지고 있음
◎ pom.xml
... (생략) ... <!-- 추가 --> <dependency> <groupId>com.zaxxer</groupId> <artifactId>HikariCP</artifactId> <version>2.7.4</version> </dependency> <!-- AspectJ --> ... (생략) ...
메이븐에 HikariCP-2.7.4.jar파일이 자동으로 추가됩니다
◎ src/main/webapp/WEB-INF/spring/root-context.xml
<!-- ...(생략)... --> <!-- (추가) --> <!-- Root Context: defines shared resources visible to all other web components --> <bean id="hikariConfig" class="com.zaxxer.hikari.HikariConfig"> <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"></property> <property name="jdbcUrl" value="jdbc:oracle:thin:@localhost:1521:XE"></property> <property name="username" value="book_ex"></property> <property name="password" value="book_ex"></property> </bean> <!-- HikariCP configuration --> <bean id="dataSource" class="com.zaxxer.hikari.HikariDataSource" destroy-method="close"> </bean> <!-- ...(생략)... -->
스프링에서 root-context.xml은 스프링이 로딩되면서 읽어 들이는 문서이므로, 이미 만들어진 클래스들을 이용해 스프링의 빈(Bean)으로 등록할 때 사용됨.
일반적으로 프로젝트에 직접 작성하는 클래스들을 어노테이션을 사용하며, 외부 jar 파일 등으로 사용하는 클래스들은 <bean> 태그를 이용해서 작성
◎ src/test/java/org/codehows/persistence → JDBCTests.java
package org.codehows.persistence; import static org.junit.Assert.fail; import java.sql.Connection; import java.sql.DriverManager; import org.junit.Test; import lombok.extern.log4j.Log4j; @Log4j public class JDBCTests { static { try { Class.forName("oracle.jdbc.driver.OracleDriver"); } catch(Exception e) { e.printStackTrace(); } } @Test public void testConnection() { try(Connection con = DriverManager.getConnection( "jdbc:oracle:thin:@localhost:1521:XE", "book_ex", "book_ex")){ log.info(con); } catch(Exception e) { fail(e.getMessage()); } } }
아래와 같은 결과가 나타나면 실행 성공입니다.
오른쪽 아랫부분에 자바 실행의 성공/실패 여부를 확인할 수 있습니다.
자바 실행시는 run as로 실행합니다.
java test 파일을 만들어 spring과 오라클을 연동시켜 보았습니다.
이때까지 했던 방식들과 유사하지만 pom.xml을 이용해 따로 build를 하지 않고 진행한다는 점이 좀 다르네요.
pom.xml을 잘 이용할 수 있는 방법들을 알아두고 익혀야겠어요!
많은 분들의 피드백은 언제나 환영합니다! 많은 댓글 부탁드려요~~
'BackEnd > Spring' 카테고리의 다른 글
[코드로 배우는 스프링 웹 프로젝트] ch04 MyBatis와 스프링 연동 2( log4jdbc-log4j2) (0) | 2023.03.26 |
---|---|
[코드로 배우는 스프링 웹 프로젝트] ch04 MyBatis와 스프링 연동 1 (0) | 2023.03.26 |
[코드로 배우는 스프링 웹 프로젝트] ch01 스프링 개발환경 (0) | 2023.03.24 |
[코드로 배우는 스프링 웹 프로젝트] java spring 책 검색 기능 추가하기 (0) | 2023.03.18 |
[코드로 배우는 스프링 웹 프로젝트] java spring 책 목록 만들기 (2) | 2023.03.18 |