Spring에서 Oracle 전자지갑으로 접속하기

사랑동이·2021년 11월 13일
0

Oracle Cloud에서 재공하는 OracleDB에서는 전자지갑을 이용한 접속을 지원 합니다.

  1. Oracle Cloud에 접속해 DB상세 정보에서 DB접속을 클릭 합니다.

  2. 사용할 비밀번호를 입력하고 전자지갑을 다운로드 합니다.

  3. 다운로드한 파일을 적당한 곳에 압축 풀어 주세요.

  4. Spring Initializr에서 간단한 Spring 프로그램 생성

  5. Gradle 종속성 추가

    dependencies {
        implementation 'org.springframework.boot:spring-boot-starter-data-jdbc'
        runtimeOnly 'com.oracle.database.jdbc:ojdbc8'
        testImplementation 'org.springframework.boot:spring-boot-starter-test'

        implementation 'com.oracle.database.security:osdt_cert:21.3.0.0'
        implementation 'com.oracle.database.security:oraclepki:21.3.0.0'
        implementation 'com.oracle.database.security:osdt_core:21.3.0.0'
    }
  1. application.properties 수정
# TNS_ADMIN 뒤에 전자지갑 압축을 푼 경로를 넣어준다.
spring.datasource.url=jdbc:oracle:thin:@db202111131640_high?TNS_ADMIN=C:/Wallet_DB202111131640
spring.datasource.username=admin
spring.datasource.password=비밀번호
spring.datasource.driver-class-name=oracle.jdbc.OracleDriver
  1. 간단한 테이블 및 데이터 생성

@SpringBootApplication
public class DemoApplication {

    private static final Logger log = LoggerFactory.getLogger(DemoApplication.class);

    private final JdbcTemplate jdbcTemplate;

    public DemoApplication(JdbcTemplate jdbcTemplate) {
        this.jdbcTemplate = jdbcTemplate;
    }

    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }

    @Bean
    public ApplicationRunner runner() {
        return args -> {
            jdbcTemplate.execute("""
            CREATE TABLE TEST (
                ID VARCHAR2(50),
                NAME VARCHAR2(50)
            )
            """.stripIndent());

            jdbcTemplate.update("""
            INSERT INTO TEST (ID ,NAME) VALUES( 'ID1', 'NAME1' )
            """.stripIndent());

            jdbcTemplate.update("""
            INSERT INTO TEST (ID ,NAME) VALUES( 'ID2', 'NAME2' )
            """.stripIndent());

            jdbcTemplate.update("""
            INSERT INTO TEST (ID ,NAME) VALUES( 'ID3', 'NAME3' )
            """.stripIndent());

            jdbcTemplate.update("""
            INSERT INTO TEST (ID ,NAME) VALUES( 'ID4', 'NAME4' )
            """.stripIndent());
        };
    }
}
  1. DatabaseAction 에서 테이블 및 데이터 생성 확인

0개의 댓글