このブログ記事は初めてGridDB Javaアプリケーションを使う方向けのガイドです。まずはGridDBクイックスタートのブログ を参照してGridDBをインストールしてください。 このブログ記事では、GridDB Javaアプリケーションの開発の基本について説明します。
まず、必要なimport文は以下の通りです。
import com.toshiba.mwcloud.gs.Collection; import com.toshiba.mwcloud.gs.GSException; import com.toshiba.mwcloud.gs.GridStore; import com.toshiba.mwcloud.gs.GridStoreFactory; import com.toshiba.mwcloud.gs.Query; import com.toshiba.mwcloud.gs.RowKey; import com.toshiba.mwcloud.gs.RowSet;
コンテナスキーマは、Javaでは静的クラスとして定義されています。
static class Person { @RowKey String name; int age; } static class HeartRate { @RowKey Date ts; int heartRate; String activity; }
GridDBに接続するには、インストールしたGridDBの設定に基づいたPropertiesインスタンスを使用します。
Properties props = new Properties(); props.setProperty("notificationAddress", "239.0.0.1"); props.setProperty("notificationPort", "31999"); props.setProperty("clusterName", "defaultCluster"); props.setProperty("user", "admin"); props.setProperty("password", "admin"); GridStore store = GridStoreFactory.getInstance().getGridStore(props);
クエリを実行したりレコードを書き込むには、コンテナを取得する必要があります。
Collection<String, Person> people = store.putCollection("PEOPLE", Person.class);
問合せはSQL / JDBCドライバに似ています。
Query<Person< query = col.query("select * where name = 'John'"); RowSet<Person> rs = query.fetch(false); while (rs.hasNext()) { // Update the searched Row Person person1 = rs.next(); System.out.println("Name: "+ person1.name +" Age: "+ person1.age) }
書き方は簡単です。
HeartRate hr = new HeartRate(); hr.ts = new Date(); hr.heartrate = 60; hr.activity = "resting"; TimeSeries<HeartRate> heartRate = store.putTimeSeries("HR_"+person1.name, HeartRate.class); heartRate.put(hr);
更新も簡単です。
Query<Person> query = col.query("select * where name = 'John'"); RowSet<Person> rs = query.fetch(true); while (rs.hasNext()) { // Update the searched Row Person person1 = rs.next(); person1.age++; rs.update(person1); }
コンパイルするには以下のスニペットを使用します。
$ cd gsSample/ $ export CLASSPATH=$CLASSPATH:/usr/share/java/gridstore.jar $ javac Sample1.java $ cd .. && java gsSample/Sample1
GridDBでmavenを使用する方法についてはこちらを参照してください。
ブログの内容について疑問や質問がある場合は Q&A サイトである Stack Overflow に質問を投稿しましょう。 GridDB 開発者やエンジニアから速やかな回答が得られるようにするためにも "griddb" タグをつけることをお忘れなく。 https://stackoverflow.com/questions/ask?tags=griddb