ノーコードでクラウド上のデータとの連携を実現。
詳細はこちら →CData
こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。
JDBI は、Fluent スタイルとSQL オブジェクトスタイルという2つの異なるスタイルAPI を公開する、Java 用のSQL コンビニエンスライブラリです。CData JDBC Driver for XML は、Java アプリケーションとリアルタイムXML データ のデータ連携を実現します。これらの技術を組み合わせることによって、XML データ へのシンプルなコードアクセスが可能になります。ここでは、基本的なDAO(Data Access Object )とそれに付随するXML データ の読み書きのためのコードの作成について説明します。
以下のインターフェースは、実装されるSQL ステートメントごとに単一のメソッドを作成するためのSQL オブジェクトの正しい動作を宣言します。
public interface MypeopleDAO {
//insert new data into XML
@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 XML (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();
}
必要な接続プロパティを収集し、XML に接続するための適切なJDBC URL を作成します。
データソースを認証するには、データプロバイダーのドキュメント内の「はじめに」セクションをご覧ください。 データプロバイダーはXML API を双方向データベーステーブルとしてモデル化し、XML ファイルをread-only ビュー(ローカルファイル、人気のクラウドサービスに格納されたファイル、およびFTP サーバー)としてモデル化します。 HTTP Basic、Digest、NTLM、OAuth、およびFTP を含む主な認証スキームはサポートされています。認証のガイドについては、データプロバイダーのドキュメント内の「はじめに」セクションをご覧ください。
URI と認証値を設定した後で、DataModel を設定することでデータの構造によりよくマッチするようデータの抽象化を調整できます。
DataModel プロパティはデータがどのようにテーブルとして抽象化されるかを制御するプロパティであり、次の基本的な設定を調整します。
リレーショナルな抽象化の設定についての詳細は、「XML データのモデリング」セクションを参照してください。次の例で使用されているサンプルデータも存在します。 このデータには、人名、その人たちが所有する車、車に施されたさまざまなメンテナンスに関する情報が含まれます。
JDBC URL の構成については、XML JDBC Driver に組み込まれている接続文字列デザイナーを使用してください。JAR ファイルのダブルクリック、またはコマンドラインからJAR ファイルを実行します。
java -jar cdata.jdbc.xml.jar
接続プロパティを入力し、接続文字列をクリップボードにコピーします。
XML の接続文字列は、通常次のようになります。
jdbc:xml:URI=C:/people.xml;DataModel=Relational;
構成済みのJDBC URL を使用して、DAO インターフェースのインスタンスを取得します。以下に示す特定のメソッドはインスタンスにバインドされたハンドルを開くため、ハンドルとバインドされたJDBC 接続を開放するには、インスタンスを明示的に閉じる必要があります。
DBI dbi = new DBI("jdbc:xml:URI=C:/people.xml;DataModel=Relational;");
MypeopleDAO dao = dbi.open(MypeopleDAO.class);
//do stuff with the DAO
dao.close();
XML への接続を開いた状態で以前定義したメソッドを呼び出すだけで、XML の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 ]);
以前定義した方法を使用すれば、XML にデータを書き込むことも簡単になります。
//add a new entry to the people entity
dao.insert(new[ personal.name.last ], new[ personal.name.last ]);
JDBI ライブラリはJDBC 接続を処理できるため、CData JDBC Driver for XML と統合することで、SQL Object API for XML を簡単に作成できます。今すぐ無料トライアルをダウンロードし、Java アプリケーションでリアルタイムXML を操作しましょう。