ノーコードでクラウド上のデータとの連携を実現。
詳細はこちら →CData
こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。
JDBI は、Fluent スタイルとSQL オブジェクトスタイルという2つの異なるスタイルAPI を公開する、Java 用のSQL コンビニエンスライブラリです。CData JDBC Driver for JSON は、Java アプリケーションとリアルタイムJSON services のデータ連携を実現します。これらの技術を組み合わせることによって、JSON services へのシンプルなコードアクセスが可能になります。ここでは、基本的なDAO(Data Access Object )とそれに付随するJSON services の読み書きのためのコードの作成について説明します。
以下のインターフェースは、実装される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 に接続するための適切なJDBC URL を作成します。
データソースへの認証については、ヘルプドキュメントの「はじめに」を参照してください。CData 製品は、JSON API を双方向データベーステーブルとして、JSON ファイルを読み取り専用ビュー(ローカル ファイル、一般的なクラウドサービスに保存されているファイル、FTP サーバー)としてモデル化します。HTTP Basic、Digest、NTLM、OAuth、FTP などの主要な認証スキームがサポートされています。詳細はヘルプドキュメントの「はじめに」を参照してください。
URI を設定して認証値を入力したら、DataModel を設定してデータ表現とデータ構造をより厳密に一致させます。
DataModel プロパティは、データをどのようにテーブルに表現するかを制御するプロパティで、次の基本設定を切り替えます。
リレーショナル表現の設定についての詳細は、ヘルプドキュメントの「JSON データのモデリング」を参照してください。また、以下の例で使用されているサンプルデータも確認できます。データには人や所有する車、それらの車に行われたさまざまなメンテナンスサービスのエントリが含まれています。
URI をバケット内のJSON ドキュメントに設定します。さらに、次のプロパティを設定して認証します。
URI をJSON ファイルへのパスに設定します。Box へ認証するには、OAuth 認証標準を使います。 認証方法については、Box への接続 を参照してください。
URI をJSON ファイルへのパスに設定します。Dropbox へ認証するには、OAuth 認証標準を使います。 認証方法については、Dropbox への接続 を参照してください。ユーザーアカウントまたはサービスアカウントで認証できます。ユーザーアカウントフローでは、以下の接続文字列で示すように、ユーザー資格情報の接続プロパティを設定する必要はありません。 URI=dropbox://folder1/file.json; InitiateOAuth=GETANDREFRESH; OAuthClientId=oauthclientid1; OAuthClientSecret=oauthcliensecret1; CallbackUrl=http://localhost:12345;
URI をJSON ファイルを含むドキュメントライブラリに設定します。認証するには、User、Password、およびStorageBaseURL を設定します。
URI をJSON ファイルを含むドキュメントライブラリに設定します。StorageBaseURL は任意です。指定しない場合、ドライバーはルートドライブで動作します。 認証するには、OAuth 認証標準を使用します。
URI をJSON ファイルへのパスが付いたサーバーのアドレスに設定します。認証するには、User およびPassword を設定します。
デスクトップアプリケーションからのGoogle への認証には、InitiateOAuth をGETANDREFRESH に設定して、接続してください。詳細はドキュメントの「Google Drive への接続」を参照してください。
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 への接続を開いた状態で以前定義したメソッドを呼び出すだけで、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 にデータを書き込むことも簡単になります。
//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 を操作しましょう。