3.18 ドラッグ・アンド・ドロップを使用したコード生成

ドラッグ・アンド・ドロップによるコード生成機能は、様々なプログラミング言語とOracleデータベースとのやり取りを簡略化します。データベース・オブジェクトをJavaファイルにドラッグ・アンド・ドロップでき、これにより、Oracleデータベースでの問合せの実行に必要なすべてのロジックを含む、対応するJavaコードが自動的に生成されます。

さらに、「接続」パネルからJavaファイルにデータベース接続全体をドラッグして、接続文字列または完全なJDBC APIコードを迅速に生成し、開発プロセスを合理化することもできます。

3.18.1 接続コードの生成

「接続」パネルから接続をドラッグしてJavaファイルにドロップすると、必要なコードが自動的に生成されます。基本、カスタムJDBC、クラウド・ウォレット、TNSなど、すべての接続タイプがサポートされているので、Oracleデータベースの様々なシナリオに柔軟に対応できます。

接続コードを生成するには、次のステップを実行します:
  1. SQLワークシートを開き、言語をJavaに設定するか、既存のJavaファイルを開きます。
  2. 「接続」パネルで、目的のデータベース接続を見つけます。
  3. 選択した接続をドラッグして、開いたJavaファイルにドロップします。

    コード生成オプションを選択するように求めるダイアログ・ボックスが表示されます。

  4. 次のコード生成オプションのいずれかを選択します:
    • 接続文字列: ドロップした接続の接続文字列を生成します。
    • JDBC: ドロップした接続にユーザーが接続できるようにするJavaコードを生成します。
    生成されたコード(接続文字列または完全なJDBC APIコード)がJavaファイルに自動的に表示されます。

    複数の接続をドラッグ・アンド・ドロップすれば、それらのコードを一度に自動生成できます。

次の例は、特定の接続タイプ構成、およびドラッグ・アンド・ドロップ機能を使用した後、それらに対して自動生成されるJDBCコードおよび接続文字列を示しています。次に、詳細プロパティが指定されていないカスタムJDBC接続タイプを示します。



コード生成オプションがJDBCに設定されている場合は、選択した接続タイプ(カスタムJDBCなど)に対して、対応するJDBC接続コードが自動的に生成されます。このコードには、接続構成で指定されたすべての関連詳細が含まれているので、データベースへの接続プロセスを合理化できます。
code_generation_output.pngの説明が続きます
図code_generation_output.pngの説明

選択したコード生成オプションが「接続文字列」の場合は、接続文字列のみが表示されます。



3.18.2 データベース・オブジェクトのJavaコードの生成

表、ビュー、二面性ビュー、マテリアライズド・ビューおよび列などのデータベース・オブジェクトを「接続」パネルからドラッグしてJavaファイルにドロップすると、対応するJavaコードが自動的に生成されます。これには、Oracleデータベースでの問合せの実行に必要なすべてのロジックが含まれているので、Javaアプリケーション内でのデータベース操作の統合が合理化されます。

次のステップを実行して、データベース・オブジェクトのJavaコードを生成します:
  1. SQLワークシートを開き、言語をJavaに設定するか、既存のJavaファイルを開きます。
  2. 「接続」パネルで、目的のデータベース・オブジェクトを見つけます。
  3. 選択したデータベース・オブジェクトをドラッグし、開いているJavaファイルにドロップします。
    複数のデータベース・オブジェクトを一度に選択およびドラッグすると、選択したすべてのアイテムの包括的なコードを同時に生成できます。
  4. コード生成オプションとしてJDBCを選択します。
  5. 生成する文のタイプを選択します。
    次のオプションを使用できます。
    • オブジェクト名: オブジェクトの名前を生成します。
    • 挿入: オブジェクトにレコードを挿入するためのJavaコードを生成します。
    • 削除: オブジェクトからレコードを削除するためのJavaコードを生成します。
    • 更新: オブジェクトのレコードを更新するためのJavaコードを生成します。
    • 選択: オブジェクトからレコードを取得するためのJavaコードを生成します。
    • 削除: データベース・オブジェクトを削除(ドロップ)するためのJavaコードを生成します。
    • 結合: 関連する列に基づいて2つ以上のデータベース・オブジェクトの行を結合することで、データを取得する問合せのJavaコードを生成します。このオプションは、複数のデータベース・オブジェクトを選択した場合にのみ使用できます。
  6. SELECTINSERTUPDATEDELETEまたはJOINなどの操作のために生成されるSQLまたはJavaコードに含める列を、選択したオブジェクトから選択し、「OK」をクリックします。
選択したデータベース・オブジェクトのJavaコードが生成されます。

例3-1 表にデータを挿入するためのJavaコードの生成

すべての列を選択してCOUNTRIES表をドラッグ・アンド・ドロップし、INSERT文オプションを選択すると、次のコードが生成されます:
code_generation_insert.pngの説明が続きます
図code_generation_insert.pngの説明

このJavaコード・スニペットは、安全で効率的なデータベース操作のためにPreparedStatementを使用して、データがCOUNTRIESという名前のデータベース表に挿入されることを示しています。このコードは、COUNTRY_IDCOUNTRY_NAMEおよびREGION_ID列に値を挿入します。疑問符(?)は、後で入力される値のプレースホルダです。プレースホルダの実際の値は、.setString()メソッドおよび.setBigDecimal() メソッドを使用して設定されます。

例3-2 複数の関連表にまたがるデータを取得するためのJavaコードの生成

COUNTRIESDEPARTMENTSおよびEMPLOYEES表をドラッグ・アンド・ドロップし、それぞれからいくつかの列を選択して、JOIN文オプションを選択すると、次のコードが生成されます:
code_generation_join.pngの説明が続きます
図code_generation_join.pngの説明

例3-3 複数のデータベース・オブジェクトに対するJavaコードの同時生成

COUNTRIES表およびDEPARTMENTS表をドラッグ・アンド・ドロップし、それぞれからいくつかの列を選択して、DELETE文オプションを選択すると、個々の表の削除コードが自動的に生成されます。このコードは、JDBCのPreparedStatementでパラメータ化されたSQL削除問合せを使用して、複数のデータベース表(COUNTRIESおよびDEPARTMENTS)からレコードを削除します。