Window 10 Intellij Maven으로 생성한 SpringBoot 프로젝트 JDBC 설정
목록
1. Oracle DataBase JDBC Driver 라이브러리 추가
2. Oracle JDBC application.properties 추가
3. 트랜잭션 관리 설정 ("spring.datasource.type 및 HikariCP 설정")
4. application.properties HikariCP의 설정
Database 스펙
DataBase : Oracle-xe-11g
JDBC : ojdbc11.jar
1. Oracle DataBase JDBC Driver 라이브러리 추가
ojdbc11.jar 파일을 사용하기 위해서는 해당 JAR파일을 Maven의 로컬 레포지토리에
수동으로 추가해야 합니다. Oracle의 JDBC 드라이버는 Maven 중앙 저장소에 포함되어
있지 않기 때문입니다.
pom.xml 파일 JDBC 라이브러리 의존성 추가
pom.xml 실제 적용 소스코드
<!-- Oracle Database JDBC : ojdbc11 --> <dependency> <groupId>com.oracle.database.jdbc</groupId> <artifactId>ojdbc11</artifactId> <version>21.5.0.0</version> </dependency> |
의존성 추가 완료
2. Oracle JDBC application.properties 추가
application.properties 파일 Oracle JDBC 설정
실제 application.properties 적용 소스코드
# ===================== # = Oracle Database JDBC : ojdbc11 # ===================== spring.datasource.driver-class-name=oracle.jdbc.OracleDriver spring.datasource.url=jdbc:oracle:thin:192.168.1.149:1521:xe spring.datasource.name=developer spring.datasource.password=rnbsoft123@ |
3. 트랜잭션 관리 설정 ("spring.datasource.type 및 HikariCP 설정")
HikariCP란?
HikariCP는 Java 애플리케이션에서 사용되는 커넥션 풀(Connection Pool) 라이브러리 입니다.
커넥션 풀은 데이터베이스와의 연결을 효율적으로 관리하여 성능을 최적화하는 중요한 구성 요소입니다.
커넥션 풀(Connection Pool)이란?
주요 개념 | 설명 |
자원 확보 | 데이터베이스와의 연결을 할때 미리 일정량의 자원을 확보 |
데이터베이스 연결 | 데이터베이스와 통신할 때마다 효율적으로 통신을 한다. |
재사용 | 애플리케이션이 데이터베이스에 접근할 때마다 매번 새로운 연결을 생성하지 않고, 미리 준비된 연결을 재사용하여 성능을 크게 향상시킬 수 있다. |
HikariCP의 주요 특징
특징 | 설명 |
빠른 성능 | HikariCP는 현재 Java 환경에서 가장 빠르고 가벼운 커넥션 풀로 평가받고 있습니다. |
경량성 | 메모리 사용량이 적고, 최소한의 설정만으로 쉽게 사용 |
안정성 | 여러 고성능 환경에서 검증된 안정성을 제공 |
4. application.properties HikariCP의 설정
# ===================== # = 트랜잭션 관리( HikariCP ) # ===================== spring.datasource.type=com.zaxxer.hikari.HikariDataSource spring.datasource.hikari.maximum-pool-size=10 spring.datasource.hikari.minimum-idle=5 spring.datasource.hikari.idle-timeout=30000 spring.datasource.hikari.max-lifetime=600000 |
spring.datasource.type=com.zaxxer.hikari.HikariDataSource
이 설정은 SpringBoot 애플리케이션에서 사용할 데이터 소스를
HikariDataSource로 지정합니다. 즉, SpringBoot는 데이터베이스 연결을
관리하기 위해 HikariCP를 사용하게 됩니다.
HikariCP는 빠른 커넥션 풀로, 높은 성능과 낮은 메모리 소비를 자랑합니다
기본적으로 SpringBoot는 HikariCP를 자동으로 사용하지만, 이 설정은
명시적으로 지정하여 사용하고 있음을 확인하고 있습니다.
spring.datasource.hikari.maximum-pool-size=10
이 설정은 최대 커넥션 풀 크기를 지정합니다.
즉, 데이터베이스와 동시에 유지할 수 있는 최대 연결 수가 10개로 제한
애플리케이션의 트래픽과 데이터베이스 성능에 따라 조정할 수 있습니다.
너무 작게 설정하면 병목이 발생할 수 있고, 너무 크게 설정하면 데이터베이스의
리소스를 과도하게 사용하게 됩니다.
spring.datasource.hikari.max-lifetime= 600000
이 설정은 커넥션의 최대 수명을 지정하며 600,000밀리초(10분)입니다.
10분 이상 연결이 유지되면 HikariCP는 해당 연결을 닫고 새로운 연결을
생성합니다. 이는 데이터베이스나 네트워크의 문제로 인해
장시간 열린 연결이 끊어지지 않고 유지되는 문제를 방지하기 위해 유용합니다.