ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Oracle 전자지갑 활용하여 DB 연동하기
    개발환경/Spring Boot 2023. 3. 19. 12:18
    728x90

     

     

    이번 시간에는 Oracle 전자지갑 활용하여 DB 연동하는 방법에 대해 알아보자.

     

     

    1. Oracle 전자지갑 다운로드

    오라클 클라우드에 접속하여 DB 상세보기에서 데이터베이스 접속을 누른다.

     

    전자지갑 다운로드를 눌러 적당한 곳에 다운로드 받아두고 압축을 풀어준다.

     

     

     

     

     

    2. 스프링 부트 설정

    1) build.gradle

     

    dependencies 추가

    runtimeOnly 'com.oracle.database.jdbc:ojdbc8'
    implementation 'com.oracle.database.security:oraclepki'
    implementation 'com.oracle.database.security:osdt_core'
    implementation 'com.oracle.database.security:osdt_cert'

     

     

    2) application.properties

    spring.datasource.driver-class-name=oracle.jdbc.OracleDriver
    spring.datasource.url=jdbc:oracle:thin:@[데이터베이스 이름]_high?TNS_ADMIN=[전자지갑 경로]
    spring.datasource.username=admin
    spring.datasource.password=[비밀번호]

     

     

     

     

     

    3. Oracle 시퀀스 생성

    create sequence seq_member_idx
        increment by 1
        start with 1;

    Oracle DB는 자동증감컬럼을 만들지 못하기 때문에 시퀀스를 생성하여 사용한다.

    Oracle 시퀀스를 사용하면 순차적인 증감이 가능한 PK 값을 생성할 수 있다.

     

     

     

     

     

    4. Entity 수정

    @Entity
    @SequenceGenerator(
            name="seq_member_idx",
            sequenceName = "seq_member_idx",
            initialValue = 1,
            allocationSize = 1
    )
    @Table(name = "member")
    public class Member {
        @Id
        @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "seq_member_idx")
        private Long id;
        private String name;
    
        public Long getId() {
            return id;
        }
    
        public void setId(Long id) {
            this.id = id;
        }
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    }

     

    @GeneratedValue

    GeneratedValue는 strategy 전략를 설정하여 사용하며, 

    Oracle 시퀀스를 사용하기 위해서 strategy값으로 SEQUENCE 전략을 설정해준다. 

    generator는 식별자 생성기 이름을 지정한다.

     

     

     

    @SequenceGenerator

    name  : 식별자 생성기 이름

    sequenceName  : 데이터베이스에 등록되어 있는 시퀀스 이름

    initialValue  : DDL 생성 시에 처음 PK값을 1로 지정한다.

    allocationSize  : 증가 수

     

     

     

     

     

     

    위 와 같이 설정으로 스프링 부트와 Oracle DB 간 연동 작업을 할 수 있다.

     

     

     

     

     

    728x90

    댓글

Designed by Tistory.