ノーコードでクラウド上のデータとの連携を実現。
詳細はこちら →CData
こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。
JDBI は、Fluent スタイルとSQL オブジェクトスタイルという2つの異なるスタイルAPI を公開する、Java 用のSQL コンビニエンスライブラリです。CData JDBC Driver for Box は、Java アプリケーションとリアルタイムBox データ のデータ連携を実現します。これらの技術を組み合わせることによって、Box データ へのシンプルなコードアクセスが可能になります。ここでは、基本的なDAO(Data Access Object )とそれに付随するBox データ の読み書きのためのコードの作成について説明します。
以下のインターフェースは、実装されるSQL ステートメントごとに単一のメソッドを作成するためのSQL オブジェクトの正しい動作を宣言します。
public interface MyFilesDAO {
//insert new data into Box
@SqlUpdate("INSERT INTO Files (Id, Size) values (:id, :size)")
void insert(@Bind("id") String id, @Bind("size") String size);
//request specific data from Box (String type is used for simplicity)
@SqlQuery("SELECT Size FROM Files WHERE Id = :id")
String findSizeById(@Bind("id") String id);
/*
* close with no args is used to close the connection
*/
void close();
}
必要な接続プロパティを収集し、Box に接続するための適切なJDBC URL を作成します。
Box は、認証にOAuth スタンダードを使用します。Box への認証には、登録アプリのOAuthClientId、OAuthClientSecret、CallbackURL を取得して、接続プロパティに設定してください。詳細はヘルプドキュメントの「はじめに」を参照してください。
なお、Box Driver はBox のファイルの一覧表示やユーザー管理情報の取得用です。Box に保管されているExcel、CSV、JSON などのファイル内のデータを読み込みたい場合には、それぞれExcel Driver、CSV Driver、JSON Driver をご利用ください。
JDBC URL の構成については、Box JDBC Driver に組み込まれている接続文字列デザイナーを使用してください。JAR ファイルのダブルクリック、またはコマンドラインからJAR ファイルを実行します。
java -jar cdata.jdbc.box.jar
接続プロパティを入力し、接続文字列をクリップボードにコピーします。
Box の接続文字列は、通常次のようになります。
jdbc:box:OAuthClientId=MyOAuthClientId;OAuthClientSecret=MyOAuthClientSecret;CallbackURL=http://localhost:33333;InitiateOAuth=GETANDREFRESH
構成済みのJDBC URL を使用して、DAO インターフェースのインスタンスを取得します。以下に示す特定のメソッドはインスタンスにバインドされたハンドルを開くため、ハンドルとバインドされたJDBC 接続を開放するには、インスタンスを明示的に閉じる必要があります。
DBI dbi = new DBI("jdbc:box:OAuthClientId=MyOAuthClientId;OAuthClientSecret=MyOAuthClientSecret;CallbackURL=http://localhost:33333;InitiateOAuth=GETANDREFRESH");
MyFilesDAO dao = dbi.open(MyFilesDAO.class);
//do stuff with the DAO
dao.close();
Box への接続を開いた状態で以前定義したメソッドを呼び出すだけで、Box のFiles エンティティからデータを取得できます。
//disply the result of our 'find' method
String size = dao.findSizeById("123");
System.out.println(size);
以前定義した方法を使用すれば、Box にデータを書き込むことも簡単になります。
//add a new entry to the Files entity
dao.insert(newId, newSize);
JDBI ライブラリはJDBC 接続を処理できるため、CData JDBC Driver for Box と統合することで、SQL Object API for Box を簡単に作成できます。今すぐ無料トライアルをダウンロードし、Java アプリケーションでリアルタイムBox を操作しましょう。