Oracle DatabaseによるJavaアプリケーションのクイックスタート(オンプレミス)

このクイック・スタート・ガイドでは、TCP接続を使用するOracle Database(オンプレミス)またはOracle Cloud Databaseへの接続を正常に確立する方法を説明します。Oracle Autonomous Databaseへの接続をご希望の場合は、 Oracle Autonomous Database向けJavaアプリケーションの開発をご確認ください。

    前提条件

    すべて開く すべて閉じる
  • 1.Oracle Databaseのインストール

    以下の手順に従って、Oracle Database Express Edition (XE) v18.4.0をインストレーションおよび実行します。データベースをインストール済みで、データベースの認証情報がある場合は、このステップを省略できます。

  • 2.JDK8のインストール

    JDK81 または それ以降のバージョンのJDKをインストールしてください。JDK8、JDK11およびJDK17は、長期サポート・リリースです。これらのバージョンのいずれかを使用するようにしてください。

    1 "java -version"を使用してインストールしたJDKのバージョンを確認します。"java -jar ojdbc8.jar"を使用してJDBCドライバのバージョンを確認します。

  • 3. データベース・ユーザーの作成(オプション)

    ノート: すでにデータベース・ユーザーおよびパスワードがある場合は、このステップを省略できます。
    データベース接続を確認する際には、新しいデータベース・ユーザーを使用することをお勧めします。データベース・ユーザーの作成と権限の割り当てに慣れていない場合は、CreateUser.java を使用して新しいデータベース・ユーザーを作成できます。
    - CreateUser.java ファイルを編集し、接続文字列、管理者ユーザー、管理者パスワードを、作成する新しいデータベース・ユーザーとパスワードと共に指定します。
    - 最新のOracle JDBC ドライバーとUCPをダウンロードします。
    - サンプルをコンパイルして実行する前に、オラクル・データベースが実行されていることを確認してください。

    # Compile the Java program 
     javac -classpath ./test/ojdbc8.jar:./test/ucp.jar CreateUser.java 
    # Run the Java program 
     java -classpath ./test/ojdbc8.jar:./test/ucp.jar:. CreateUser
    また、Dockerを使用している場合は、以下のコマンドを使用して新しいデータベース・ユーザを作成することもできます。
    # These are instructions to create a new database user  
    #Step 1: Make sure docker is running before running the below docker command
    #Step 2: Enter the admin password for your database on the console
    #Step 3: Provide the new database user and password to be created
    
    # Create a session within the container with Oracle as user 
    docker exec -it --user oracle \
       -e 'ORACLE_HOME=/opt/oracle/product/18c/dbhomeXE' \
       $(docker ps --format '{{.ID}}') \
       /bin/bash -c  'exec ${ORACLE_HOME}/bin/sqlplus "sys@xepdb1 as sysdba"'
    
    # Create a new database user and grant required privileges. 
    # Replace "{newdbuser}"  and "{newdbpassword}" with the new DB user and password that you want to create
    grant CREATE SESSION, CREATE VIEW, CREATE SEQUENCE,CREATE PROCEDURE, CREATE TABLE, 
    CREATE TRIGGER, CREATE TYPE, CREATE MATERIALIZED VIEW to {newdbuser} identified by {newdbpassword};
  • 4.Githubからサンプルプログラムをダウンロード

    • GithubからQuickStart.javaをダウンロードします。このサンプル・アプリケーションは、タスクとタスク完了ステータスを含む表'todoitem'を作成し、いくつかの行を挿入し、表の内容を表示します。
    • QuickStart.javaを編集して、データベース接続情報を含めます。

      • DB_USER: ステップ3のデータベース・ユーザーを使用します。
      • DB_PASSWORD: ステップ3のデータベース・パスワードを使用します。
      • DB_URL: Oracle Databaseの接続文字列を入力します。Oracle Database XEの場合は、次の接続文字列を使用します。
      • 例: DB_URL = "jdbc:oracle:thin:@//localhost:1521/XEPDB1"

    • QuickStart.javaへの変更の保存

    Mavenプロジェクト

    すべて開く すべて閉じる
  • 1.Mavenプロジェクトの設定

    • 前提条件: 前提条件セクションのすべてのステップを完了するようにしてください。

    • Mavenプロジェクトの作成: Apache Mavenをダウンロードし、mvnコマンドを使用する前にPATHを設定します。以下のMavenコマンドを使用して、プロジェクトを作成します。

      mvn archetype:generate -DgroupId=com.oracle.jdbctest -DartifactId=jdbc-test-project -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
    • QuickStart.javaをsrcディレクトリにコピー : QuickStart.javasrc/main/java/com/oracle/jdbctestディレクトリにコピーします。

    • pom.xml を以下の変更で修正:
      依存関係としてOracle JDBCドライバを追加します。
      ノート: ojdbc8-productionは、クライアント側接続プール(UCP.jar)であるUCPとともにOracle JDBCドライバ(ojdbc8.jar)をダウンロードします。Refer to Maven Central Guide for more details.

      <properties>
          <maven.compiler.source>11</maven.compiler.source>
          <maven.compiler.target>11</maven.compiler.target>
      </properties>
      <dependencies>
        <dependency>
          <groupId>com.oracle.database.jdbc</groupId>
          <artifactId>ojdbc8-production</artifactId>
          <version>19.9.0.0</version>
          <type>pom</type>
        </dependency>
      </dependencies>
  • 2. サンプルJavaプログラムの構築と実行

    pom.xmlが存在するディレクトリにあることを確認してください。

    • Javaコードのクリーンアップとコンパイル: 次のコマンドを使用します。

      mvn clean
      mvn compile
    • サンプルJavaプログラムの実行

      mvn exec:java -Dexec.cleanupDaemonThreads=false -Dexec.mainClass="com.oracle.jdbctest.QuickStart"
    • 出力例:

      下のスクリーンショットのように、問合せ対象の行が新しい表'todoitem'から返され、「Congratulations! You have successfully used Oracle Database」というメッセージが表示されます。


    Gradleプロジェクト

    すべて開く すべて閉じる
  • 1. Gradleプロジェクトの設定

    • 前提条件: 前提条件セクションのすべてのステップを完了するようにしてください。
    • Gradleプロジェクトを作成 : Gradle Guide の指示に従い、Gradle のダウンロードとビルドを行い、gradle コマンドを使用する前にPATHを設定します。まず最初に、以下のコマンドでgradleプロジェクトを作成します。「生成するプロジェクトの種類を選択する」で「2: アプリケーション」を選択していることを確認してください。また、「Source package (default: temp):」には com.oracle.jdbctest を使用します。

      gradle init
    • Copy QuickStart.javaをsrc ディレクトリにコピー: QuickStart.javasrc/main/java/com/oracle/jdbctest ディレクトリにコピーするようにしてください。

    • 次の変更でbuild.gradleを変更します。

      • リポジトリとしてmavenCentral()を追加します
      • Oracle JDBCドライバを依存関係として追加します。
        ノート: ojdbc8-production は、クライアント側接続プール ( (ucp.jar)) としてUCPとともに、Oracle JDBCドライバー <code class="ocode">(ojdbc8.jar)</code> をダウンロードします。.Refer to Maven Central Guide for more details.
      • 'mainClassName'をQuickStartに更新します。

      repositories { 
        // Maven Central
         mavenCentral()
       } 
      
      dependencies { 
        // Get the 21.1.0.0 Oracle JDBC driver along with other companion jars
        implementation("com.oracle.database.jdbc:ojdbc8-production:19.9.0.0")
       }
      application { 
        // Define the main class for the application
        mainClassName ='{your_project_directory}.QuickStart' 
      }
  • 2.Gradleアプリケーションの構築および実行

    build.gradleが存在するディレクトリにいることを確認してください。

    • Javaコードのコンパイル: 以下のコマンドを使用します。

      ./gradlew build
    • サンプルJavaプログラムの実行

      ./gradlew run
    • 出力例:

      下のスクリーンショットのように、問合せ対象の行が新しい表'todoitem'から返され、「Congratulations! You have successfully used Oracle Database」というメッセージが表示されます。

    Eclipse

    すべて開く すべて閉じる
  • 1.Mavenプロジェクトの設定

    • 前提条件: 前提条件セクションのすべてのステップを完了するようにしてください。

    • Mavenプロジェクトの作成:

      • 「ファイル」→「新規」→「プロジェクト」→「Mavenプロジェクト」を選択します。maven archetypeを使用するか、'Create simple project (skip archetype selection)' をチェックします。
      • MavenプロジェクトのGAVを選択します:これらはプロジェクトのpom.xml に表示されます。
        Group Id: com.oracle
        Artifact Id: JDBCquickstart
        Version: Leave it as 0.0.1-SNAPSHOT

    • QuickStart.javaの作成: src/main/javaを右クリックして、「新規」→「クラス」をクリックします。次の値を入力します。
      パッケージ: com.oracle.jdbctest
      名前: QuickStartをクリックし、「完了」をクリックします。
      QuickStart.javaの内容を、この新しいファイルにコピーするようにしてください。

    • pom.xml を以下の変更で修正:
      依存関係としてOracle JDBCドライバを追加します。ノート: ojdbc8-productionは、Oracle JDBCドライバ(ojdbc8.jar)と、UCP.jarなどの他のコンパニオンjarをダウンロードします(UCPをクライアント側接続プールとして使用するにはjarが必要です)。Refer to Maven Central Guide for more details.

      <properties>
          <maven.compiler.source>11</maven.compiler.source>
          <maven.compiler.target>11</maven.compiler.target>
      </properties>
      <dependencies>
        <dependency>
          <groupId>com.oracle.database.jdbc</groupId>
          <artifactId>ojdbc8-production</artifactId>
          <version>21.1.0.0</version>
          <type>pom</type>
        </dependency>
      </dependencies>
  • 2. サンプルJavaプログラムの構築と実行

    Javaコードにコンパイル・エラーがなく、Eclipseで最新のJDKバージョンを使用していることを確認してください。また、Oracle DatabaseがDockerで実行されていることを確認します。

    • サンプルJavaプログラムを実行します: QuickStart.java --> 名前を付けて実行-->Javaアプリケーションを右クリックします。

    • 出力例:

      下のスクリーンショットのように、問合せ対象の行が新しい表'todoitem'から返され、「Congratulations! You have successfully used Oracle Database」というメッセージが表示されます。


    IntelliJ

    すべて開く すべて閉じる
  • 1.Mavenプロジェクトの設定

    • 前提条件: 前提条件セクションのすべてのステップを完了するようにしてください。
    • Mavenプロジェクトの作成:

      • 「ファイル」→「新規作成」→「プロジェクト」をクリック
      • 左側で「Maven」を選択し、最新バージョンのJDKを「Project SDK」として選択します。任意のmavenアーキタイプを使用することも、独自のアーキタイプを追加することもできます。「Next」をクリックします。
      • クイックスタートとして「名前」を指定
    • QuickStart.javaの作成: src /main/javaを右クリックします。「新規」→「Javaクラス」をクリックします。com.oracle.jdbctest.QuickStart.javaと入力すると、必要なパッケージ構造も作成されます。QuickStart.javaの内容をこの新しいファイルにコピーするようにしてください。

    • pom.xml を以下の変更で修正:
      依存関係としてOracle JDBCドライバを追加します。ノート: ojdbc8-productionは、Oracle JDBCドライバ(ojdbc8.jar)をUCP.jarとともにダウンロードします(UCPをクライアント側接続プールとして使用するにはjarが必要です)。Refer to Maven Central Guide for more details.

      <properties>
          <maven.compiler.source>11</maven.compiler.source>
          <maven.compiler.target>11</maven.compiler.target>
      </properties>
      <dependencies>
        <dependency>
          <groupId>com.oracle.database.jdbc</groupId>
          <artifactId>ojdbc8-production</artifactId>
          <version>21.1.0.0</version>
          <type>pom</type>
        </dependency>
      </dependencies>
  • 2. 構築とQuickstartの実行

    • Java コードのコンパイル: QuickStart.java --> Build Module 'QuickStart'を右クリックします。コンパイル・エラーがないことを確認します。Oracle DatabaseがDockerで実行され、アクセス可能であることを確認します。

    • サンプルJavaプログラムを実行します:QuickStart.javaを右クリック -> 'QuickStart.main()'を実行します。

    • 出力例:

      下のスクリーンショットのように、問合せ対象の行がデータベースから返され、「Congratulations! You have successfully used Oracle Database」というメッセージが表示されます。


    ビルド・ツールなし

    すべて開く すべて閉じる
  • 1.JDBCドライバおよびその他のjarのダウンロード

    • 前提条件のセクションにある全てのステップを完了するようにしてください。

    • OTNからojdbc8-full.tar.gzをダウンロードし、内容をクラスパスに解凍します。
      ノート: ojdbc8-full.tar.gz には最新のJDBCドライバ (ojdbc8.jar) とクライアント側接続プールとしてのUCP (ucp.jar)が含まれています。

  • 2. サンプルJavaプログラムの構築と実行

    • Javaプログラムをコンパイルする
      クラスパスに要件jarの正確なパスを指定するようにしてください。

      javac -classpath ./lib/ojdbc8.jar:./lib/ucp.jar com/oracle/jdbctest/QuickStart.java
    • サンプルJavaプログラムを実行する
      クラスパスに要件jarの正確なパスを指定するようにしてください。

      java -classpath ./lib/ojdbc8.jar:./lib/ucp.jar:. com.oracle.jdbctest.QuickStart
    • 出力例:

      下のスクリーンショットのように、問合せ対象の行が新しい表'todoitem'から返され、「Congratulations! You have successfully used Oracle Database」というメッセージが表示されます。