构建 Java 应用

要构建访问自治 AI 数据库的 Java 应用,首先需要配置开发系统来支持数据库访问,以利用自治 AI 数据库的持续可用性和高性能特性。

将开发系统配置为支持数据库访问后,您将在应用程序中编写数据库连接和 SQL 语句的代码,以利用持续可用性和高性能功能。

提示:有关阅读以下主题的“试用”替代方案,您可以浏览 Oracle Autonomous AI Database Dedicated for Developers and Database Users Workshop 中的 Lab 5:Build Java Application Stacks

配置您的 Java 开发系统

要配置您的开发系统,以便 Java 应用可以利用自治 AI 数据库的持续可用性和高性能功能,请执行以下步骤。

  1. 下载并安装 Java Development Kit (JDK)。

  2. 下载自治 AI 数据库的客户端身份证明。

  3. 获取 Oracle Java 数据库连接 (JDBC) 驱动程序。

使用须知

您的开发系统必须满足某些标准才能成功配置。

下载和安装 JDK

转到 Java SE 下载页面。然后,按照页面上的说明下载并安装 JDK 8u221 或更高版本。

下载自治 AI 数据库的客户端身份证明

  1. 将包含数据库客户端身份证明的 zip 文件下载到计算机上的安全目录。

    可以从 Oracle Cloud 控制台中数据库的“详细信息”页下载此 zip 文件。如果您的 Oracle Cloud 用户账户允许您访问此页,请按如下方式下载身份证明。如果您没有这样的帐户,则需要从数据库的管理员那里获取 zip 文件,以及用于保护 zip 文件的密码。

    1. 在 Web 浏览器中,登录到 Oracle Cloud 并导航到自治 AI 数据库的“详细信息”页面。

    2. 单击 DB Connection

    3. 数据库连接页上,单击下载

    4. Download Wallet(下载 Wallet)对话框中,在 Password(口令)字段中输入口令,然后在 Confirm Password(确认口令)字段中验证该口令。

      密码长度必须至少为 8 个字符,并且必须至少包含 1 个字母和 1 个数字字符或 1 个特殊字符。

    5. 单击 Download(下载)并解压缩,将客户端身份证明 zip 文件保存到安全目录。

获取 Oracle JDBC 驱动程序

从 Oracle Technical Resources 的 Maven Central JDBC 下载页获取 Oracle JDBC 驱动程序版本 19.6.0.0 或更高版本。(有关相关视频和其他资源,请参阅 Oracle Technologies JDBC 主页。)

要从 Maven Central 获取 JDBC 驱动程序,请执行以下步骤。

  1. Central Maven Repository 获取 Oracle JDBC 驱动程序。

    提供驱动程序 Maven 依赖项 GAV(GroupID、ArtifactID、VersionID),以提取 ojdbc8.jar 以及其他 jar,例如 oraclepki.jarosdt_core.jarosdt_cert.jar。请参阅 Maven Central Guide

    对于 ojdbc8.jar 版本 19.6.0.0,提供以下 GAV:

     <groupId>com.oracle.database.jdbc</groupId>
     <artifactId>ojdbc8</artifactId>
     <version>19.7.0.0</version>
    

    对于 ojdbc8.jar 版本 19.7.0.0,提供以下 GAV:

     <groupId>com.oracle.database.jdbc</groupId>
     <artifactId>ojdbc8-production</artifactId>
     <version>19.7.0.0</version>
     <type>POM</type>
    

要从 Oracle Technical Resources 获取 JDBC 驱动程序,请执行以下步骤。

  1. 转到 Oracle JDBC Downloads(下载)页面。然后,选择最新版本的驱动程序以转到其特定于版本的下载页面。

  2. 将此档案下载并解压缩到要放置 JDBC 驱动程序的目录:ojdbc8-full.tar.gz

  3. 将连接 URL 指向自治 AI 数据库。

    TNS_ADMIN 附加到连接 URL,将其值设置为解压缩客户端身份证明的目录的完整路径。例如:

     // Use TNS alias name plus TNS_ADMIN with JDBC driver 18.3 or higher
     DB_URL="jdbc:oracle:thin:@wallet_dbname?
     TNS_ADMIN=/Users/test/wallet_dbname";
    
     // For Microsoft Windows, use this for TNS_ADMIN:
     // TNS_ADMIN=C:\\Users\\test\\wallet_dbname";
    
  4. 将以下解压缩的 JAR 文件的路径添加到编译和运行 Java 程序时使用的 CLASSPATH 环境变量。

    使用 DataSourceSample.javaUCPSample.java 验证与自治 AI 数据库的连接。

    • ojdbc8.jar:核心 JDBC 驱动程序

    • oraclepki.jarosdt_core.jarosdt_cert.jar:用于使用基于 wallet 的验证的自治 AI 数据库

    • ucp.jar:用于通用连接池 (Universal Connection Pooling,UCP)

    • ons.jarsimplefan.jar:支持 FAN(快速应用程序通知)

代码数据库连接和 SQL 语句

将您的开发系统配置为支持与自治 AI 数据库的 Java 应用程序连接后,请遵循以下准则,以实现应用程序与数据库的连接的高性能和持续可用性:

例如:

import java.sql.Connection;
import javax.sql.PooledConnection;
import oracle.jdbc.OracleConnection;
import oracle.jdbc.replay.OracleDataSourceFactory;
import oracle.jdbc.replay.OracleDataSource;
import oracle.jdbc.replay.OracleConnectionPoolDataSource;
...
  PoolDataSource pds = PoolDataSourceFactory.getPoolDataSource();
  // Set the connection factory first before all other properties
  pds.setConnectionFactoryClassName(
    "oracle.jdbc.replay.OracleConnectionPoolDataSourceImpl");
  pds.setFastConnectionFailoverEnabled(true);
  pds.setURL("jdbc:oracle:thin:@tp_tls?TNS_ADMIN=/users/jdoe/adbcredentials");
  pds.setUser("appuser");
  pds.setPassword("<password>");
  pds.setConnectionPoolName("JDBC_UCP_POOL");

  Connection conn = pds.getConnection();

其他资源

有关 Oracle Database JDBC 驱动程序的详细信息,请参阅:

有关通用连接池的详细信息,请参见:

相关内容