繁体   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