JDBI からJSON Services のデータアクセスオブジェクトを作成

詳細情報をご希望ですか?

無償トライアル:

ダウンロードへ

製品の詳細情報へ:

JSON JDBC Driver

JSON Web サービス連携のパワフルなJava アプリケーションを素早く作成して配布。



JDBI でJSON services 用のSQL オブジェクトAPIを作成する方法を概説します。

JDBI は、Fluent スタイルとSQL オブジェクトスタイルという2つの異なるスタイルAPI を公開する、Java 用のSQL コンビニエンスライブラリです。CData JDBC Driver for JSON は、Java アプリケーションとリアルタイムJSON services のデータ連携を実現します。これらの技術を組み合わせることによって、JSON services へのシンプルなコードアクセスが可能になります。ここでは、基本的なDAO(Data Access Object )とそれに付随するJSON services の読み書きのためのコードの作成について説明します。

JSON people Entity のDAO を作成

以下のインターフェースは、実装されるSQL ステートメントごとに単一のメソッドを作成するためのSQL オブジェクトの正しい動作を宣言します。

public interface MypeopleDAO { //insert new data into JSON @SqlUpdate("INSERT INTO people ([ personal.name.last ], [ personal.name.last ]) values (:[ personal.name.last ], :[ personal.name.last ])") void insert(@Bind("[ personal.name.last ]") String [ personal.name.last ], @Bind("[ personal.name.last ]") String [ personal.name.last ]); //request specific data from JSON (String type is used for simplicity) @SqlQuery("SELECT [ personal.name.last ] FROM people WHERE [ personal.name.last ] = :[ personal.name.last ]") String find[ personal.name.last ]By[ personal.name.last ](@Bind("[ personal.name.last ]") String [ personal.name.last ]); /* * close with no args is used to close the connection */ void close(); }

JSON への接続を開く

必要な接続プロパティを収集し、JSON に接続するための適切なJDBC URL を作成します。

データソースへの認証については、ヘルプドキュメントの「はじめに」を参照してください。本製品は、JSON API を双方向データベーステーブルとして、JSON ファイルを読み取り専用ビュー(ローカル ファイル、一般的なクラウドサービスに保存されているファイル、FTP サーバー)としてモデル化します。HTTP Basic、Digest、NTLM、OAuth、FTP などの主要な認証スキームがサポートされています。詳細はヘルプドキュメントの「はじめに」を参照してください。

URI を設定して認証値を入力したら、DataModel を設定してデータ表現とデータ構造をより厳密に一致させます。

DataModel プロパティは、データをどのようにテーブルに表現するかを制御するプロパティで、次の基本設定を切り替えます。

  • Document(デフォルト):JSON データのトップレベルのドキュメントビューをモデル化します。本製品 は、ネストされたオブジェクト配列を集約されたJSON オブジェクトとして返します。
  • FlattenedDocuments:ネストされた配列オブジェクトと親オブジェクトを、単一テーブルに暗黙的に結合します。
  • Relational:階層データから個々の関連テーブルを返します。テーブルには、親ドキュメントにリンクする主キーと外部キーが含まれています。

リレーショナル表現の設定についての詳細は、ヘルプドキュメントの「JSON データのモデリング」を参照してください。また、以下の例で使用されているサンプルデータも確認できます。データには人や所有する車、それらの車に行われたさまざまなメンテナンスサービスのエントリが含まれています。

ビルトイン接続文字列デザイナー

JDBC URL の構成については、JSON JDBC Driver に組み込まれている接続文字列デザイナーを使用してください。JAR ファイルのダブルクリック、またはコマンドラインからJAR ファイルを実行します。

java -jar cdata.jdbc.json.jar

接続プロパティを入力し、接続文字列をクリップボードにコピーします。

JSON の接続文字列は、通常次のようになります。

jdbc:json:URI=C:\people.json;DataModel=Relational;

構成済みのJDBC URL を使用して、DAO インターフェースのインスタンスを取得します。以下に示す特定のメソッドはインスタンスにバインドされたハンドルを開くため、ハンドルとバインドされたJDBC 接続を開放するには、インスタンスを明示的に閉じる必要があります。

DBI dbi = new DBI("jdbc:json:URI=C:\people.json;DataModel=Relational;"); MypeopleDAO dao = dbi.open(MypeopleDAO.class); //do stuff with the DAO dao.close();

JSON Services について

JSON への接続を開いた状態で以前定義したメソッドを呼び出すだけで、JSON のpeople エンティティからデータを取得できます。

//disply the result of our 'find' method String [ personal.name.last ] = dao.find[ personal.name.last ]By[ personal.name.last ]("Roberts"); System.out.println([ personal.name.last ]);

JSON Services の書き方

以前定義した方法を使用すれば、JSON にデータを書き込むことも簡単になります。

//add a new entry to the people entity dao.insert(new[ personal.name.last ], new[ personal.name.last ]);

JDBI ライブラリはJDBC 接続を処理できるため、CData JDBC Driver for JSON と統合することで、SQL Object API for JSON を簡単に作成できます。今すぐ無料トライアルをダウンロードし、Java アプリケーションでライブJSON を操作しましょう。