Oracle Cloud에서 재공하는 OracleDB에서는 전자지갑을 이용한 접속을 지원 합니다.
Oracle Cloud에 접속해 DB상세 정보에서 DB접속을 클릭 합니다.

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

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

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

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'
}
# 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
@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());
};
}
}
