簡體   English   中英

如何使用spring boot連接oracle數據庫

[英]How to connect to oracle database using spring boot

我正在使用 Spring Boot 應用程序並嘗試訪問 Oracle 數據庫。 雖然它已成功構建,但當我嘗試在 Kubernetes 中部署時出現以下錯誤。

我用以下配置更改了application.properties文件和pom.xml文件:

應用.yml

 spring.datasource.url=jdbc:oracle:thin:@<IP>:1521:orcl
 spring.datasource.username=<username>
 spring.datasource.password=<password>
 spring.datasource.driver.class=oracle.jdbc.driver.OracleDriver

POM文件

 <dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-jdbc</artifactId>
 </dependency>

例外

*************************** APPLICATION FAILED TO START *************************** Description: Failed to bind properties under '' to com.zaxxer.hikari.HikariDataSource: Property: driverclassname Value: oracle.jdbc.OracleDriver Origin: "driverClassName" from property source "source" Reason: Failed to load driver class oracle.jdbc.OracleDriver in either of HikariConfig class loader or Thread context classloader Action: Update your application's configuration

Maven依賴:

    <dependency>
        <groupId>com.oracle</groupId>
        <artifactId>ojdbc7</artifactId>
        <version>12.1.0</version>
    </dependency>

application.yml 文件:

# Oracle settings
spring.datasource.url=jdbc:oracle:thin:@localhost:1521:xe
spring.datasource.username=system
spring.datasource.password=password
spring.datasource.driver.class-name=oracle.jdbc.OracleDriver

注意driver.class-name

有時您可能需要將spring.jpa.database-platform=org.hibernate.dialect.Oracle10gDialect添加到 application.yml 文件(對於 Oracle 10)。

在 pom 中添加以下依賴項和存儲庫

<dependency>
        <groupId>com.oracle</groupId>
        <artifactId>ojdbc6</artifactId>
        <version>11.2.0.3</version>
    </dependency>

<repositories>
    <repository>
        <id>codelds</id>
        <url>https://code.lds.org/nexus/content/groups/main-repo</url>
    </repository>
   </repositories>

還要在 application.properties 中添加以下屬性

    spring.datasource.driver-class-name=oracle.jdbc.driver.OracleDriver
    spring.datasource.url=jdbc:oracle:thin:@localhost:1521:xe(SID)
    spring.datasource.username=system
    spring.datasource.password=pw

將文件Application.yml中的 db 驅動程序更新為

spring.datasource.driver-class-name=oracle.jdbc.**driver**.OracleDriver or spring.datasource.driver-class-name=oracle.jdbc.OracleDriver

您需要下載 Oracle JDBC 驅動程序 jar 文件並將其添加到您的類路徑中,以便您的應用程序加載oracle.jdbc.OracleDriver類。

驅動程序可以從這里下載。

您可以檢查SpringBoot 應用程序示例是否有幫助。

對於 Oracle 數據庫,

Maven設置:

<dependency>
    <groupId>com.oracle.ojdbc</groupId>
    <artifactId>ojdbc8</artifactId>
    <version>19.3.0.0</version>
</dependency>

屬性設置:

spring.datasource.url=jdbc:oracle:thin:@172.16.10.12:1521/orcl11
spring.datasource.username=[username]
spring.datasource.password=[password]

不要使用

spring.datasource.driver-class-name=oracle.jdbc.OracleDriver
  • 您只需在pom.xml文件中添加這兩個依賴項,它就可以正常工作。

     <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency> <dependency> <groupId>com.oracle.database.jdbc</groupId> <artifactId>ojdbc8</artifactId> <scope>runtime</scope> </dependency>

在 Application.properties 中使用此配置。

 spring.jpa.show-sql=true

spring.h2.console.enabled=true

#Using SID
spring.datasource.url= jdbc:oracle:thin:@localhost:1521:ORCL
spring.datasource.username=SYSTEM   
spring.datasource.password=SYSTEM
spring.datasource.driver-class-name=oracle.jdbc.OracleDriver

#hibernate configs
spring.jpa.database-platform=org.hibernate.dialect.OracleDialect
spring.jpa.hibernate.ddl-auto= update 

警告:

  1. org.hibernate.dialect.Oracle10gDialect 已被棄用。
  2. 您需要檢查 {jdbc:oracle:thin:@localhost:1521:ORCL} 此數據庫 URL 的最后部分是否為 {ORCL} 或 {XE}。 請參閱隨附的屏幕截圖。 在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM